複習 冒泡,快速 排序

2021-07-25 08:27:28 字數 1230 閱讀 9050

氣泡排序是面試最基礎的內容一定要會

氣泡排序的思想

對於一組陣列 針對從大到小 每次迴圈乙個乙個比較找到乙個最大的數放置末尾,後一次迴圈的數個數將會比前一次少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 ...