js三种排序算法分享_javascript技巧
May 16, 2016 pm 05:50 PM/**
* 值交换操作
* arr 被操作的数组
* i 被操作元素索引值
* j 被操作两元素的距离
*/
function refer(arr, i, j){
var change = (arr[i] - arr[i - j]) if (change) {
value = arr[i];
arr[i] = arr[i - j];
arr[i - j] = value;
return arguments.callee(arr, i - j, j);
}
else {
return arr;
}
}
//插入排序
function insert(array){
for (var i = 1, len = array.length; i if (array[i] refer(array, i, 1);
}
}
return array;
}
上面的部分是插入排序,然后是希尔排序:
//希尔排序
function shell(array){
var length = array.length, value;
for (var i = Math.floor(length / 2); i > 0; i = Math.floor(i / 2)) {
for (var j = i; j if (array[j] refer(array, j, i);
}
else {
continue;
}
}
}
return array;
}
两种方法当中用到的refer方法为同一个方法。最后是归并排序:
//归并排序
function order(arr1, arr2){
var arrLong = arr1.length > arr2.length ? arr1 : arr2;
var arrShort = arr1.length var arr = [];
for (var i = 0, l = arrShort.length; i for (var j = 0, len = arrLong.length; j if (arrShort[i] arr.push(arrShort[i]);
if (i == l - 1) {
for (var m = 0, n = arrLong.length; m arr[arr.length] = arrLong[m];
}
}
break;
}
else {
arr.push(arrLong[j]);
arrLong.shift();
continue;
}
}
}
return arr;
}
有好建议的同学可以留言!在此不多余赘述了,一切看代码吧。

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Isu reka bentuk eksperimen yang kompleks dalam pasaran dua belah Kuaishou

Google menggunakan AI untuk memecahkan meterai sepuluh tahun algoritma pengisihan Ia dilaksanakan bertrilion kali setiap hari, tetapi netizen mengatakan ia adalah penyelidikan yang paling tidak realistik?

Cara menapis dan mengisih data dalam pembangunan teknologi Vue

Apakah algoritma pengisihan untuk tatasusunan?

Swoole Advanced: Cara menggunakan multi-threading untuk melaksanakan algoritma pengisihan berkelajuan tinggi

Sepuluh algoritma pengisihan teratas yang mesti dikuasai oleh pengaturcara (Bahagian 1)

Bagaimana untuk melaksanakan fungsi algoritma pengisihan mudah menggunakan MySQL dan Java

Bagaimana untuk melaksanakan algoritma isihan pemilihan dalam C#
