js排序演算法

2021-10-06 10:44:56 字數 2822 閱讀 7657

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步驟,直到找到已排序的元素小於或者等於新元素,將新元素插入到...