JavaScript 實現3種排序演算法

2021-08-16 00:02:14 字數 952 閱讀 9618

/**

* created by administrator on 2017/5/26.

*//*

氣泡排序:外層迴圈控制比較次數,

內層迴圈控制arr[i]和arr[i+1]的大小,並判斷arr[i]和arr[i+1]是否需要交換

*/var arr=[2,4,3,1,5,7,6];

function

bubblesort

(arr)}}

return arr

}console.log('這是氣泡排序演算法'+bubblesort(arr))

/*插入排序:原理:arr[p]和t比較之前,0~i-1的元素已經排好序了,只需要把t插入合適的位置即可。

step1:取出arr[i]的值,儲存在t中,並把t放在擂台上;

step2:定義p=i-1,通過迴圈比較變數arr[p]和定值t的大小,來判斷arr[p]和arr[p+1]是否需要交換位置。

step3:如果arr[p]>t,則需要arr[p]要和arr[p+1]交換位置,然後p--;繼續比較arr[p]和t的大小

如果arr[p]function

insertsort

(arr)

if(arr[p]>t)}}

return arr;

}console.log('這是插入排序演算法'+insertsort(arr))

/*快速排序:把陣列分為兩份和中間值c,比較陣列中的元素和中間值c的大小,依次迭代拼接

當分組的length小於1時,則沒有必要排序。

*/function

quicksort

(arr)else}}

return quicksort(left).concat(c,quicksort(right));

}console.log('這是快速排序演算法'+quicksort(arr));

Javascript實現對Json陣列排序

一 適用於數字排序和字元排序 最簡單的一種 var sortby function filed,rev,primer if a b if a b return 1 var obj 數字排序 obj.sort sortby b false,parseint console.log obj 字元排序 o...

JavaScript 如何實現陣列的隨機排序?

第一種方法。math.random 返回介於 0 包含 1 不包含 之間的乙個隨機數。這種方法是迴圈過程中通過math.random 函式產生的隨機值,在陣列中這個隨機值位置的數和arr i 位置的資料交換,迴圈結束,產生隨機數組。第二種方法。splice 方法用於插入 刪除或替換陣列的元素。注意 ...

二種快排穩定實現

三路快排 void quicksort int a,intleft,intright i 工作指標 j從左向右不斷掃瞄,找大於或者等於錨點元素的元素 while left j a j pivot j 如果兩個工作指標 i j相遇則一趟遍歷結束 if i j break 將左邊大於 pivot 的元素...