常見的三種排序演算法 氣泡排序,快速排序,選擇排序

2021-09-29 12:17:44 字數 1092 閱讀 7432

1.氣泡排序

特點:效率低,實現簡單 思想:每一趟將待排序序列中最大元素移到最後,剩下的為新的待排序序列,重上述步驟直到排完所有元素。這只是氣泡排序的一種,當然也可以從後往前排.

/**

* 氣泡排序

*/public class gugotest ;

for (int i = 0; i < arrays.length -1; i++) }}

for (int i = 0; i < arrays.length; i++) }}

對於氣泡排序來說,最好的情況時間複雜度為o(n),即只是盡心了一輪迴圈就把順序排列好.但是往往我們的時間複雜度為o(n²),這也是氣泡排序的平均時間複雜度.

對於空間複雜度主要看我們定義的陣列大小,這裡的空間複雜度為o(6).

2.快速排序

快速排序的思想是,選擇乙個基準,把小於這個數的放在左邊,大於這個數的放在右邊,一次迭代演算法,實現排序.時間複雜度為

快速排序演算法實現

public class quicktest 

i = low;

j = high;

//定義乙個基準位

temp = arr[low];

//下面的過程主要是去查詢座標,查詢我們需要的座標

while (i=arr[i] && i3.選擇排序

從陣列中找到最小的元素,和第乙個位置的元素互換。

從第二個位置開始,找到最小的元素,和第二個位置的元素互換。

直到選出array.length-1個較小元素,剩下的最大的元素自動排在最後一位。

//選擇排序

public class selection ;

for (int i = 0; i < arr.length-1; i++) {

int mindex = i;

for (int j = i; j < arr.length; j++) {

if(arr[j]時間複雜度為:

常見排序演算法 氣泡排序 快速排序

常見排序演算法 選擇排序 直接選擇排序 堆排序 交換排序 氣泡排序 快速排序 插入排序 直接插入排序 折半插入排序 shell排序 歸併排序 桶式排序 基數排序 輸入 input 有0個或多個輸入資料,這些輸入必須有清楚的描述和定義 輸出 output 至少有1個或多個輸出結果,不可以沒有輸出結果 ...

三種常見的排序演算法

剛開始的時候也聽過學長說什麼什麼排序之類的,到剛聽得時候是各種姿勢懵逼啊,學習了一段時間的c語言之後,才有點明白所謂的排序是什麼,現在就來羅列一下三種常用的排序法氣泡排序法,插入排序法和選擇排序法。氣泡排序啊,這是我聽過最多的乙個排序方法了,他的基本思想也比較簡單,就是不斷比較相鄰的兩個數,讓較小的...

常見的三種排序演算法

常見的三種排序演算法 氣泡排序,選擇排序,插入排序 氣泡排序 穩定 重複地走訪過要排序的元素列,依次比較兩個相鄰的元素,如果順序錯誤就把他們交換過來。走訪元素的工作是重複地進行直到沒有相鄰元素需要交換,也就是說該元素列已經排序完成。兩兩比較 intmain for i 0 i1 i 決定裡面的迴圈迴...