├── .gitignore ├── LICENSE ├── README.md ├── bubbleSort.js ├── insertionSort.js └── selectionSort.js /.gitignore: -------------------------------------------------------------------------------- 1 | # Prerequisites 2 | *.d 3 | 4 | # Object files 5 | *.o 6 | *.ko 7 | *.obj 8 | *.elf 9 | 10 | # Linker output 11 | *.ilk 12 | *.map 13 | *.exp 14 | 15 | # Precompiled Headers 16 | *.gch 17 | *.pch 18 | 19 | # Libraries 20 | *.lib 21 | *.a 22 | *.la 23 | *.lo 24 | 25 | # Shared objects (inc. Windows DLLs) 26 | *.dll 27 | *.so 28 | *.so.* 29 | *.dylib 30 | 31 | # Executables 32 | *.exe 33 | *.out 34 | *.app 35 | *.i*86 36 | *.x86_64 37 | *.hex 38 | 39 | # Debug files 40 | *.dSYM/ 41 | *.su 42 | *.idb 43 | *.pdb 44 | 45 | # Kernel Module Compile Results 46 | *.mod* 47 | *.cmd 48 | .tmp_versions/ 49 | modules.order 50 | Module.symvers 51 | Mkfile.old 52 | dkms.conf 53 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017 三井寿 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # leetcode 2 | JavaScript solutions for leetcode 3 | -------------------------------------------------------------------------------- /bubbleSort.js: -------------------------------------------------------------------------------- 1 | function bubbleSort(arr) { 2 | var length = arr.length 3 | 4 | for (var i = 0; i < length - 1; i++) { 5 | for (var j = 0; j < length - 1 - i; j++) { 6 | if (arr[j] > arr[j + 1]) { 7 | var temp = arr[j + 1] 8 | arr[j + 1] = arr[j] 9 | arr[j] = temp 10 | } 11 | } 12 | } 13 | 14 | return arr 15 | } 16 | 17 | console.log(bubbleSort([1001, 99, -100, -1, 9])) -------------------------------------------------------------------------------- /insertionSort.js: -------------------------------------------------------------------------------- 1 | function insertionSort(arr) { 2 | var length = arr.length, 3 | prevIndex, current 4 | 5 | for (var i = 1; i < length; i++) { 6 | prevIndex = i - 1 7 | current = arr[i] 8 | 9 | while (prevIndex >= 0 && arr[prevIndex] > current) { 10 | arr[prevIndex + 1] = arr[prevIndex] 11 | prevIndex-- 12 | } 13 | 14 | arr[prevIndex + 1] = current 15 | } 16 | 17 | return arr 18 | } 19 | 20 | console.log(insertionSort(([1001, 99, -100, -1, 9]))) -------------------------------------------------------------------------------- /selectionSort.js: -------------------------------------------------------------------------------- 1 | function selectionSort(arr) { 2 | var length = arr.length, 3 | currentIndex = 0 4 | 5 | for (var i = 0; i < length - 1; i++) { 6 | currentIndex = i 7 | 8 | for (var j = i + 1; j < length; j++) { 9 | if (arr[j] < arr[currentIndex]) { 10 | currentIndex = j 11 | } 12 | } 13 | 14 | var temp = arr[i] 15 | arr[i] = arr[currentIndex] 16 | arr[currentIndex] = temp 17 | } 18 | 19 | return arr 20 | } 21 | 22 | console.log(selectionSort([1001, 99, -100, -1, 9])) --------------------------------------------------------------------------------