1.氣泡排序:
function bubblesort (arr) }}
}function swap(arr,i,j)
let arr = [4,5,6,8,2,3,1,5];
bubblesort(arr);
2.插入排序:
function insertsort (arr)
arr[j+1] = current;
}}let arr = [4,5,6,8,2,3,1,5];
insertsort(arr);
3.選擇排序:
function selectionsort(arr)
}swap(arr,i,minindex);
}}function swap(arr,i,j)
let arr = [4,5,6,8,2,3,1,5];
selectionsort(arr);
4.歸併排序:
function mergesort(arr)
let mid = math.floor(len/2);
let left = arr.slice(0,mid);
let right = arr.slice(mid);//預設值到最後
return merge(mergesort(left),mergesort(right));
}//排序
function merge(left,right)else
}while ( left.length )
while ( right.length )
return result;
}let arr = [4,5,6,8,2,3,1,5];
mergesort(arr);
5.快速排序:
function quicksort(arr)
function quick(arr,left,right)
}swap(arr,point,index-1);
index --;
let lefte = index-1;
let rightb = index+1;
if( lefte > left )
if( rightb < right)
}function swap(arr,i,j)
let arr = [8,6,9,10,18,5,4];
quicksort(arr);
6.堆排序:
function heapsort(arr)
for(let i = len-1; i > 0; i--)
}function heap(arr,i,len)
if( right < len && arr[right] > max )
if( maxindex !== i )
}function swap(arr,i,j)
let arr = [10,12,8,9,5,18,4,3,2,7,15,13,12,16];
heapsort(arr);
7.計數排序:
//適用於:正整數和0,最大值不是特別大
function countsort (arr) );
let j=0;
count.foreach((item,i)=>
});}let arr = [1,2,4,5,5,5,1,4,2,3,4,9,8,7,6,2,2];
countsort(arr);
8.桶排序:
function quicksort(arr)
function quick(arr,left,right)
}swap(arr,point,index-1);
index --;
let lefte = index-1;
let rightb = index+1;
if( lefte > left )
if( rightb < right)
}function swap(arr,i,j)
function bucketsort (arr)
let j = 0;
for(let i = 0,len = bucketarr.length; i );
}}let arr = [20,15,88,63,99,75,16,85,34];
bucketsort( arr );
9.基數排序:
function radixsort (arr)
}let maxdigit = maxnum.tostring().length;
let x = 10,y = 1;
for(let i = 0; i < maxdigit; i++)
x *= 10;
y *= 10;
let index = 0;
for(let j = 0,len = radixarr.length; j );
}radixarr = ;
}}let arr = [8898,456,123,12,7,9,56,23,456];
radixsort( arr );
JS排序演算法
function insertsort arr endif status new date st ms return arr function shellsort arr while increment 1 status new date st ms return arr function shel...
排序演算法(JS)
自己整理一下資料結構的排序演算法,用js寫了一下,測試正確。插入排序 var table 32,26,87,72,26,17 for var i 0 i 0 temp0 alert i table 快速排序 快速排序是找出乙個元素 理論上可以隨便找乙個 作為基準 pivot 然後對陣列進行分割槽操作...
js排序演算法
常見內部排序演算法有 插入排序 希爾排序 選擇排序 氣泡排序 歸併排序 快速排序 堆排序 技術排序等 從第乙個元素開始,該元素被當成已排序 取出下乙個元素,在已排序的元素序列中從後向前掃瞄 如果該元素大於新元素,將該元素移到下一位置 重複3步驟,直到找到已排序的元素小於或者等於新元素,將新元素插入到...