第一种:冒泡排序
每一次把最大的冒泡
//javasrcript 代码:
function BubbleSort2(list)
{
var listLength = list.length;
var j = 0;
var tempVal;
for (var i = listLength; i > 0; i--) {
for (j = 0; j < i - 1; j++) {
if (list[j] > list[j + 1]) {
tempVal = arr[j];
list[j] = list[j + 1];
list[j + 1] = tempVal;
}
}
}
return list;
}
var arr = [13, 22, 74, 19, 41, 45, 77, 46, 68];
var arrSorted = BubbleSort2(arr);
console.log(arrSorted);
第二种:快速排序
采用了分治的思想:先保证列表的前半部分都小于后半部分,然后分别对前半部分和后半部分排序,这样整个列表就有序了。这是一种先进的思想,也是它高效的原因。因为在排序算法中,算法的高效与否与列表中数字间的比较次数有直接的关系,而”保证列表的前半部分都小于后半部分”就使得前半部分的任何一个数从此以后都不再跟后半部分的数进行比较了,大大减少了数字间不必要的比较=>“”百度“”
//快速排序
//javasrcript 代码:
function FastSorting(array, low, high) {
if (low >= high)
return;
var index = FastSortUnit(array, low, high);
FastSortUnit(array, low, index - 1);
FastSortUnit(array, index + 1, high);
return array;
}
function FastSortUnit(array, low, high) {
var key = array[low];
while (low < high) {
while (array[high] >= key && high > low) {
--high;
}
array[low] = array[high];
while (array[low] <= key && high > low) {
++low;
}
array[high] = array[low];
}
array[low] = key;
return high;
}
var array2 = [49, 38, 65, 97, 76, 13, 27];
console.log(FastSorting(array2, 0, array2.length - 1));
第三种:选择排序