資料結構與演算法 C 氣泡排序

2021-06-26 09:36:20 字數 851 閱讀 1487

1:原理

以此比較相鄰的兩個元素,每次比較完畢最大的乙個字跑到本輪的末尾。 

目的:按從小到大排序。 

方法: 

假設存在陣列:72, 54, 59, 30, 31, 78, 2, 77, 82, 72 

第一輪比較相鄰兩個元素,如果左邊元素大於右邊元素,則交換。 

72和54比較的結果就是,54在前,72在後; 

然後72和59比較的結果,59在前,72在後; 

以此類推,第一輪比較之後的結果是:54, 59, 30, 31, 72, 2, 77, 78, 72, 82 

經過第一輪比較,最大的元素跑到了最後乙個,所以第二輪比較,最後乙個元素不需要進行比較了。  

第二輪還是從索引0和1開始比較,只是不許要比較最後乙個了,演算法還是一樣的。第三輪、第四輪以此類推。 

排序之後的結果:2, 30, 31, 54, 59, 72, 72, 77, 78, 82 

2:**

static listlist = new list() ;

static void main(string args)

static void bubble()

}printlist();

}} private static void printlist()

", item));

}console.writeline();

}

3:輸出

4:時間複雜度

根據時間複雜度的計算原則,氣泡排序為:o(n^2 )

資料結構與演算法 排序 氣泡排序

兩兩相鄰記錄的關鍵字,如果反序則交換,直到沒有反序的記錄為止。氣泡排序基本概念是 依次比較相鄰的兩個數,將小數放在前面,大數放在後面。即在第一趟 首先比較第1個和第2個數,將小數放前,大數放後。然後比較第2個數和第3個數,將小數放前,大數放後,如此繼續,直至比較最後兩個數,將小數放前,大數放後。至此...

資料結構與演算法 排序 氣泡排序

今天來學一下十大排序 首先,我們先了解下各個排序的時間複雜度 冒泡 選擇 插入 歸併 快速 希爾 堆排序屬於比較排序 在這裡,我們預設排序是從小到大排序。乙個動態演示各種排序演算法的動畫 visualgo 如果相等的兩個元素,在排序前後的相對位置保持不變,那麼這個演算法是穩定的排序演算法。比如 5 ...

資料結構與演算法 氣泡排序

氣泡排序的思想是,從前往後 或從後往前 掃瞄,每找乙個逆序對,就將它更正過來,這樣每一輪總可以找到乙個最大值或最小值。1 從前往後掃瞄,每次找到的較大值插入到後面,第一層迴圈代表當前插入位置。public static void sinksort int nums,int start,int end...