1.演算法思想:兩兩比較相鄰的關鍵碼,如果反序,則要交換位置,直到沒有反序記錄為止
2.每一趟起泡排序前,令exchange的初值=0;
在以後的排序過程中,只要有記錄交換 exchange就不為0
所以,一趟比較結束時,可以通過exchange的值是否為0來判斷是否有記錄交換,從而判別整個氣泡排序的結束
while(exchange)
}}4.時間效能分析
(1)最好情況(正序)
時間複雜度(n)
(2)最壞情況(逆序)
時間複雜度o(n²)
5.如何改變氣泡排序的不對稱性
在排序中交替改變掃瞄方向
(1)奇數趟 從左到右掃瞄
(2)偶數趟 從右往左掃瞄
資料結構 交換排序
交換排序的基本思想是 兩兩比較待排序記錄的關鍵字,如果發生逆序 即排列順序與排序後的次序正好相反 則交換之,直到所有記錄都排好序為止。基本思路 每趟不斷將記錄兩兩比較,並按 前小後大 或 前大後小 規則交換。優點 每趟結束時,不僅能擠出乙個最大值到最後面位置,還能同時部分理順其他元素 一旦下趟沒有交...
資料結構交換排序之起泡排序 參考嚴蔚敏資料結構
開始時是整個順序表都是無序的,就算有序計算機也不知道 而後逐步擴大有序序列,減小無需序列 有序序列在表後,無序序列在表前,且有序序列中的key最小的元素的key都大於無序序列中的任意乙個元素的key includeusing namespace std define n 8 void bubble ...
資料結構 排序之交換排序
本節將兩種交換排序氣泡排序和快速排序 氣泡排序是最簡單的交換排序方法,比較相鄰兩個記錄的關鍵字,將大的放到右邊,小的放到左邊,如圖所示 從而使關鍵字小的左移 大的右移 每一次迴圈最右邊的必定是關鍵字最大的元素,外面再加一層迴圈即可得到有序序列。實現 include using namespace s...