欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

javascript 排序數(shù)組

夏志豪1年前8瀏覽0評論

在前端開發(fā)中,常常需要對數(shù)組進(jìn)行排序。Javascript是一門強(qiáng)大的腳本語言,提供了各種排序算法,它們可以以任何一種順序?qū)?shù)組元素進(jìn)行排序。在本篇文章中,我們將介紹Javascript排序數(shù)組的各種方法,并附加相應(yīng)的示例。

1. 冒泡排序

function bubbleSort(arr){
var len = arr.length;
for(var i = 0;iarr[j+1]){
var temp = arr[j+1];
arr[j+1] = arr[j];
arr[j] = temp;
}
}
}
return arr;
}

2. 插入排序

function insertSort(arr){
var len = arr.length;
for(var i = 1;i=0&&arr[j]>temp){
arr[j+1] = arr[j];
j--;
}
arr[j+1] = temp;
}
return arr;
}

3. 選擇排序

function selectSort(arr){
var len = arr.length;
for(var i = 0;iarr[j]) min = j;
}
if(min!=i){
var temp = arr[min];
arr[min] = arr[i];
arr[i] = temp;
}
}
return arr;
}

4. 快速排序

function quickSort(arr,left,right){
var len = arr.length;
var partitionIndex;
left = typeof left != "number" ? 0 : left;
right = typeof right != "number" ? len-1 : right;
if(left

5. 歸并排序

function mergeSort(arr){
var len = arr.length;
if(len<2) return arr;
var mid = Math.floor(len/2),
left = arr.slice(0,mid),
right = arr.slice(mid);
return merge(mergeSort(left),mergeSort(right));
}
function merge(left,right){
var result = [];
while(left.length&&right.length){
if(left[0]<=right[0]){
result.push(left.shift());
}else{
result.push(right.shift());
}
}
while(left.length) result.push(left.shift());
while(right.length) result.push(right.shift());
return result;
}

我們已經(jīng)介紹了Javascript常用的排序算法。每個算法都有各自的優(yōu)缺點。在實際開發(fā)中,需要根據(jù)需求和性能要求,選擇最適合的排序算法。