58同城网站建设的不足,潍坊住房和城乡建设部网站,成都房产网签查询,网站允许flash1. 冒泡排序 定义#xff1a; 比较相邻的前后二个数据#xff0c;如果前面数据大于后面的数据#xff0c;就将二个 数据交换。 这样对数组的第0个数据到N-1个数据进行一次遍历后#xff0c;最大的一个数据就“沉”到数组第N-1个位置。 NN-1#xff0c;如果N不为0就重复前…1. 冒泡排序 定义 比较相邻的前后二个数据如果前面数据大于后面的数据就将二个 数据交换。 这样对数组的第0个数据到N-1个数据进行一次遍历后最大的一个数据就“沉”到数组第N-1个位置。 NN-1如果N不为0就重复前面二步否则排序完成。 function bubbleSort(arr){for(var i0;iarr.length-1;i){ for(var j0;jarr.length-i-1;j){ if(arr[j]arr[j1]){ var temparr[j]; arr[j]arr[j1]; arr[j1]temp; } } } return arr; } console.log(bubbleSort([6,1,2,4,3,5])) 2. 选择排序比如在一个长度为N的无序数组中在第一趟遍历N个数据找出其中最小的数值与第一个元素交换第二趟遍历剩下的N-1个数据找出其中最小的数值与第二个元素交换……第N-1趟遍历剩下的2个数据找出其中最小的数值与第N-1个元素交换至此选择排序完成。 function selectSort(arr){var min,temp;for(var i0;iarr.length-1;i){ mini; for(var ji1;jarr.length;j){ if(arr[j]arr[min]){ min j; } } temparr[i]; arr[i]arr[min]; arr[min]temp; } return arr; } console.log(selectSort([6,1,2,4,3,5])) 3. 快速排序 定义 1先从数列中取出一个数作为基准数。 2分区过程将比这个数大的数全放到它的右边小于或等于它的数全放到它的左边。 3再对左右区间重复第二步直到各区间只有一个数。 function quickSort(arr){if(arr.length2){return arr} var left[],right[],midarr.splice(Math.floor(arr.length/2),1); for(var i0;iarr.length;i){ if(arr[i]mid){ left.push(arr[i]); }else { right.push(arr[i]) } } return quickSort(left).concat(mid,quickSort(right)) } console.log(quickSort([6,1,2,4,3,5])) 4. 插入排序 从第一个元素开始该元素可以认为已经被排序 取出下一个元素在已经排序的元素序列中从后向前扫描 如果该元素已排序大于新元素将该元素移到下一位置 重复步骤3直到找到已排序的元素小于或者等于新元素的位置 将新元素插入到该位置后 重复步骤2~5。 function insertSort(arr){var len arr.length; for (var i 1; i len; i) { var key arr[i]; var j i - 1; while (j 0 arr[j] key) { arr[j 1] arr[j]; j--; } arr[j 1] key; } return arr; }转载于:https://www.cnblogs.com/wws-bk/p/9660555.html