幾種排序演算法總結(冒泡 選擇 插入 快速)

2022-09-22 19:24:12 字數 808 閱讀 2651

今天總結了幾個比較基礎常用的排序演算法。寫下來,以後可以直接參考。

var o = }}

return arr;

},//插入排序(穩定)

/**假設待排序的記錄存放在陣列r[1……n]中,初始時,r[1]自成乙個有序區,不需要比較,

無序區r[2...n],從i=2起到i=n為止,依次將r[i]插入當前有序區。

帶插入的記錄r[i]從右向左與有序區的r[j]比較,

若r[j]>r[i],則r[j]後移乙個位置

若r[j]<=r[i],則查詢結束,j+1即為r[i]插入位置**/

insertsort:function(array) else

} array[j + 1] = temp;

}return array;

}, //選擇排序(不穩定)

selectsort:function(a)

a[i] = a[j]; //將比數軸記錄小的移動到低的那一端

while((a[i] <= temp) && (i < j))

a[j]= a[i]; //將比數軸記錄大的移動到高的那一端

}a[i] = temp; //樞軸記錄到位

// quicksort(a,low,i-1);

// quicksort(a,j+1,high);

arguments.callee(a,low,i-1);

arguments.callee(a,j+1,high);

}else

return a;

} };

測試結果:

如圖:

冒泡,選擇,插入排序演算法 總結

之前一直都沒有怎麼注意簡單演算法的編寫,現在重寫翻閱了下資料,才慢慢熟悉。package com.klay.sort public class klay int arr1 int arr2 bubbo arr for int i 0 i arr.length i system.out.println...

選擇 冒泡 插入排序演算法總結

本文做的排序都是預設公升序排序,即從小到大,此為大前提 l 2,5,3,6,1,4,0,9,18,11,15,12 選擇排序 依次拿乙個元素 從第二個元素開始 和第乙個位置元素比較,如果比第乙個元素小就交換位置,這樣第一次迴圈結束,最小的數就放在了第乙個,以此類推 第一層迴圈確定元素要放的位置,所以...

排序演算法 插入 選擇 冒泡 快排 歸併

可以找一些帖子理解下幾類排序演算法或者聽下陳越姥姥在mooc上的資料結構 選擇類排序 交換類排序 歸併排序 基數排序 拓撲排序 從待排序的n個記錄中的第二個記錄開始,依次與前面的記錄比較並尋找插入的位置,每次外迴圈結束後,將當前的數插入到合適的位置。void sort insert int a,in...