氣泡排序是面試最基礎的內容一定要會
氣泡排序的思想
對於一組陣列 針對從大到小 每次迴圈乙個乙個比較找到乙個最大的數放置末尾,後一次迴圈的數個數將會比前一次少1,因為已經確定了乙個數的位置,以此下去將會排完所有資料。
來張圖看把清楚點
氣泡排序通常使用兩個for迴圈
第乙個for迴圈則是確定迴圈輪數
第二個for迴圈則是確定乙個最大數
具體實現
//陣列名字 a
for(int i = 0 ; ilength ; i++)}}
這便是氣泡排序了。
接下來是快速排序,就有點高階了。
快速排序的思想
快速排序是對於氣泡排序的一種改進,它的原理是:
對於給定的一組記錄,選擇乙個基準元素,通常選擇第乙個元素或者最後乙個元素,通過一趟掃瞄,將待排序列分成兩部分,一部分比基準元素小,一部分大於等於基準元素,此時基準元素在其排好序後的正確位置,然後再用同樣的方法遞迴地排序劃分的兩部分,直到序列中的所有記錄均有序為止。
再引用一張解釋下
**實現
public
class quicksort
a[i] = index;// 將基準數值替換回 a[i]
sort(a, low, i - 1); // 對低子表進行遞迴排序
sort(a, i + 1, hight); // 對高子表進行遞迴排序
}public
static
void
quicksort(int a)
public
static
void
main(string args) ;
quicksort(a);
system.out.println(arrays.tostring(a));}}
以上便是快速排序的內容了,希望大家都能掌握 氣泡排序複習
1.首先搜看一下氣泡排序的gif動態圖 2.自己再拋開動態圖,在白紙上畫一遍 原始待排序陣列 7 2 3 1 4 第一趟排序 外迴圈 第一次兩兩比較7 2交換 內迴圈 交換前狀態 7 2 3 1 4 交換後狀態 2 7 3 1 4 第二次兩兩比較,7 3交換 內迴圈 交換前狀態 2 7 3 1 4 ...
資料結構複習 氣泡排序與快速排序
氣泡排序c語言大家都學過,就不多說,說一下補充的部分。就是當當前的數不再發生交換時,就退出迴圈。這樣可以減少迴圈的次數。以及,氣泡排序是一種穩定的排序演算法 include using namespace std intmain int i 0,j 0,k 0 int x int flag 0 wh...
排序演算法複習 氣泡排序
氣泡排序基本思想 兩兩比較相鄰資料,如果反序則交換資料,直到沒有反序為止。冒泡 較小的數 較大的數 如同氣泡般慢慢浮到上面,因此命名氣泡排序,氣泡排序。還是 看著直觀,如下 int a int n sizeof a sizeof int inti,j,temp bool exchange true ...