数组排序汇总

数组排序汇总
数组排序汇总
排序算法
在window.onload =函数(){
var array = { 0,1,2,44,4,
324,5,65,6,6,
34,4,5,6,2,
43,5,6,62,43,
5,1,4,51,56,
76,7,7,2,1,
45,4,6,7,8 };
/ / var array = { 4,2,5,1,0,3 };
console.log('original数组);
console.log(阵列);
sorting.shellsort数组(数组);
警报(数组);
console.log('sorted数组)
console.log(阵列);
}

var排序= {
使用排序方法进行排序
SystemSort:功能(ARR){
返回arr.sort(功能(A,B){
返回A-B;
});
},

冒泡排序
冒泡排序:功能(ARR){
VaR len = arr.length,TMP;
对于(var i = 0;i < len-1;i++){
对于(var j = 0;J < len-1-i;j++){
如果(ARR { J } > ARR { j + 1 }){
TMP = ARR {,};
{ } = ARR ARR J J + 1 } {;
{ 1 } = ARR J+TMP;
}
}
}
报酬;
},

快速排序
QuickSort:功能(ARR){
无功低= 0,高= arr.length-1;
排序(低,高);
函数排序(低,高){
如果(低<高){
var =(函数(低,高){)
var tmp = ARR {低};
当(低<高){
当(低= TMP){
高;
}
ARR { } = { }度低高;
而(低< higharr {低} <= TMP){
低++;
}
ARR { } = { }度低高;
}
ARR {低} = TMP;
收益低;
}(低,高);
排序(低,中叶1);
排序(中+ 1,高);
}
}
报酬;
},

插入排序
InsertSort:功能(ARR){
VaR len = arr.length;
对于(var i = 1;i < i;i + +){
var tmp = ARR {我};
对于(var j = i-1;J > = 0;J—){
如果(TMP < ARR { J }){
{ 1 } = J + ARR ARR {,};
其他{ }
{ 1 } = ARR J+TMP;
打破;
}
}
}
报酬;
},

希尔排序
ShellSort:功能(ARR){
var=1;
而(H≤arr.length / 3){
H = H * 3 + 1; / / O(n ^(3 / 2))的Knuth,1973
}
为(;;H > = 1;H = math.floor(H / 3)){
对于(var = 0;k;h;k +){
对于(var i = H + K;i < arr.length;我+ = h){
对于(var j =我;J > = { } { Harr {J}. << ARR J-H };j = h){
var tmp = { }度{J}.;
ARR { } = { } ARR J-H {J}.;
{ } = TMP J-H ARR;
}
}
}
}
报酬;
}
}
以上是本文的全部内容,希望大家能喜欢。
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部