算法 Veröffentlicht am 3月 9 2017 算法例子 LINK 快速排序123456789101112131415var quickSort = function(arr) { if (arr.length <= 1) { return arr; } var pivotIndex = Math.floor(arr.length / 2); var pivot = arr.splice(pivotIndex, 1)[0]; var left = []; var right = []; for (var i = 0; i < arr.length; i++){ if (arr[i] < pivot) { left.push(arr[i]); } else { right.push(arr[i]); } } return quickSort(left).concat([pivot], quickSort(right));}; 冒泡排序123456789101112131415161718var arr=[12,3,4,5,8,22,33,11,6,2,3]function sort(arr){ for(var i=0;i<arr.length;i++){ for(var j=0;j<arr.length;j++) { if(arr[i]<arr[j-1]) { var temp=arr[i] arr[i]=arr[j-1] arr[j-1]=temp } } } return arr;} 选择排序12345678910111213141516function selectionSort(arr) { var len = arr.length; var minIndex, temp; for (var i = 0; i < len - 1; i++) { minIndex = i; for (var j = i + 1; j < len; j++) { if (arr[j] < arr[minIndex]) { // 寻找最小的数 minIndex = j; // 将最小数的索引保存 } } temp = arr[i]; arr[i] = arr[minIndex]; arr[minIndex] = temp; } return arr;} 插入排序1234567891011121314function insertionSort(arr) { var len = arr.length; var preIndex, current; for (var i = 1; i < len; i++) { preIndex = i - 1; current = arr[i]; while(preIndex >= 0 && arr[preIndex] > current) { arr[preIndex+1] = arr[preIndex]; preIndex--; } arr[preIndex+1] = current; } return arr;} 二分法查找