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 決定裡面的迴圈迴...