// 堆代码 www.duidaima.com var arr = [12, 25, 8, 16, 14]; console.log("排序前数组,", arr) //冒泡排序:数组,前一项和后一项比较,前一项大,前一项和后一项交换位置。反之不变。依次往下比。直到最大的数跑到最右边,然后进行第二轮比较。 //封装冒泡排序的函数 function bubbleSort2(arr) { for (var i = 0; i < arr.length; i++) {//第一层寻交换控制比较多少轮 for (var j = 0; j < arr.length - 1 - i; j++) {//第二层循环用于每一轮的比较 if (arr[j] > arr[j + 1]) { var temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } console.log("每一轮比较后结果", arr) } return arr; } console.log("排序后数组,", bubbleSort2(arr))输出结果:
var arr = [12,25,8,16,14]; console.log("排序前数组,",arr) //选择排序:第一轮,找出数组中最小的数,将第一项和最小的数互换位置。第二轮找到除第一项最小的数,和第二项互换位置,依次类推 //封装选择排序的函数 function selectSort(arr){ for (var i = 0; i < arr.length-1; i++) { for (var j = i+1; j < arr.length; j++) { if(arr[i] > arr[j]){ var temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; } } } return arr; } console.log("排序后数组,",selectSort(arr))
输出效果: