var arr = [9, 3, 1, 4, 2, 7, 8, 6, 5]; // 交换位置 function changePosition(curIndex, changedIndex) { var temp = arr[curIndex]; arr[curIndex] = arr[changedIndex]; arr[changedIndex] = temp; } // 简单选择排序,每次从剩余元素中找出最小元素,然后交换位置 function selectionSort() { for (var i = 0; i < arr.length; i++) { var min = i; for (var j = i + 1; j < arr.length; j++) { if (arr[j] < arr[min]) { min = j } } if(min != i) { changePosition(i, min ) } } } //selectionSort() // 冒泡排序,相邻元素,两两比较,交换位置 function bubbleSort() { for(var i=0; iarr[j+1]) { //故而只需比较前面还未排序的值
changePosition(j, j+1) } } } } // bubbleSort() //插入排序, 将待排序部分插入到已经排序部分 function insertSort(arr) { for(var i=1; i0 && arr[k] < arr[k-1]) { changePosition(k, k-1) k--; } } } insertSort() console.log(arr)
参考:https://www.cnblogs.com/chengxiao/p/6103002.html