以下に示すように:
// ----------いくつかのソートアルゴリズムvar sort = {} sort.prototype = {// sort systemsort:function(array){return array.sort(function(a、b){return a-b;}); }、// bubblesort:function(array){var i = 0、len = array.length、j、d; for(; i <len; i ++){for(j = 0; j <len; j ++){if(array [i] <array [j]){d = array [j]; array [j] = array [i];配列[i] = d; }}} return array; }、//クイックソートQuickSort:function(array){// var array = [8,4,6,7,9,3,5,74,5]; // var array = [0,1,2,44,4,324,5,65,6,6,34,4,5,6,2,43,5,62,43,5,1,4,51,56,76,7,7,7,2,1,45,4,4,7]; var i = 0; var j = array.length -1; var sort = function(i、j){// end条件if(i == j){return}; var key = array [i]; var tempi = i; // record start position var tempj = j; //終了位置を記録します(j> i){// j << -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------(j> ++ i){if(array [i]> key){array [j] = array [i];壊す; }}}}}} //最初のキーを取得したのが最小の数字の場合if(tempi == i){sort(++ i、tempj);戻る ; } //最後の空室はキー配列[i] = keyに残されています。 //再帰ソート(Tempi、i); sort(j、tempj); } sort(i、j);返品配列; }、// seatt sort sort insertsort:function(array){// http://baike.baidu.com/image/d57e99942da24e5ddd21b7080 // http://baike.baidu.com/view/396887.htm // var Array = [0,1,2,44,4,324,5,65,6,6,4,4,5,6,2,43,5,62,43,5,1,4,51,56,76,7,7,2,1,45,4,6,7,7,7,5,5,1,4,51,56,76,7]; var i = 1、j、temp、key、len = array.length; for(; i <len; i ++){temp = j = i; key = array [j]; while( - j> -1){if(array [j]> key){array [j+1] = array [j]; } else {break; }} array [j+1] = key; } return array; }、// hill sort //jun.array.shellsort(jun.array.df(10000)); shellsort:function(array){// http://zh.wikipedia.org/zh/%E5%B8%8C%E5%5%B0%94%E6%8E%92%E5%BA%8F // var Array = [13,14,94,33,82,25,59,94,65,23,45,27,73,25,39,10]; // var temparr = [1750、701、301、132、57、23、10、4、1]; // reverse()この最適なステップサイズの最適な配列を参照してくださいvar temparr = [1031612713、217378076、45806244、9651787、2034035、428481、90358、19001、4025、836、182、34、9、1/ = 0; var temparrtemparrlent = temparr.length; var len = array.length; var len2 = parseint(len/2); for(; i <temparrlength; i ++){if(temparr [i]> len2){継続; } tempsort(temparr [i]); } //ステップ関数tempsort(temp){//console.log(temp)stazy statistics使用var i = 0、j = 0、f、tem、keyを並べ替えます。 var templen = len%temp> 0? parseint(len/temp) + 1:len/temp; for(; i <temp; i ++){//列を順番にループします(j = 1;/ * j <templen && */temp * j+i <len; j ++){//各列の行を順番にループ= f = f = temp * j+i; key = array [f]; while((tem- = temp)> = 0){// if(array [tem]> key){array [tem+temp] = array [tem]; } else {break; }} array [tem + temp] = key; }}} return array; }}JSの上記のさまざまなソートアルゴリズムの実装(要約)は、すべてエディターが共有するコンテンツです。参照を提供できることを願っています。wulin.comをもっとサポートできることを願っています。