/*
*2. 編寫乙個氣泡排序的演算法,並且在main函式中驗證其功能已實現
*氣泡排序(bubble sort)的基本思想,設想排序r[1]到r[n]垂直放置,將記錄
*r[i]看作是重量為r[i].key的氣泡;根據氣泡不能在重氣泡之下的原則,從下往
*上掃瞄陣列r,凡違反原則的輕氣泡,就使其向上「飄浮」,如此反覆進行,直到
*最後任何兩個氣泡都是輕者在上,重者在下為止。就好像氣泡從水中上冒一樣
*趟次 0(初始) 1 2 3 4 5 6 7
49 13 13 13 13 13 13 13
38 49 27 27 27 27 27 27
65 38 49 38 38 38 38 38
97 65 38 49 49 49 49 49
76 97 65 65 49' 49' 49' 49'
13 76 97 97 65 65 65 65
27 27 76 76 76 76 76 76
49』 49' 49' 49' 97 97 97 97
*///程式**如下:
#includeusing namespace std;
const int maxsize=100; //排序表容量,假設為100
typedef int datatype;
typedef struct
rectype; //記錄型別
typedef rectype list[maxsize+1];
void bubblesort(list r,int n) //上公升法氣泡排序
資料結構 排序之氣泡排序
資料結構 排序 可以通過理解各個排序演算法的不變性來加深對演算法的理解 氣泡排序bubblesort 不變性 out右邊的所有資料項都是有序的。out為outer loop外迴圈體中的變數。the point for out arrlen 1 out 1 out the code public cl...
資料結構之排序 氣泡排序
簡介 氣泡排序屬於交換排序的一種。交換排序就是根據序列中兩個元素關鍵字的比較結果來對換這兩個記錄在序列中的位置。交換排序的演算法有很多,著重需要掌握的有氣泡排序和快速排序。基本思想 長為n的序列表,從前往後 或從後往前 兩兩比較相鄰元素的值,若為逆序,則交換他們,知道所有序列比較完。每一趟冒泡都會將...
資料結構之氣泡排序
基本思想 在要排序的一組數中,對當前還未排好序的範圍內的全部數,自上而下對相鄰的兩個數依次進行比較和調整,讓較大的數往下沉,較小的往上冒。即 每當兩相鄰的數比較後發現它們的排序與排序要求相反時,就將它們互換。第一次比較排序的結果 會把其中最大的資料排到最大的索引處 第二次比較排序後的結果 因為第一次...