#include
typedef int infotype;
typedef enum boolean;
#define n 5 //假設的檔案長度,即待排序的記錄數目
typedef int keytype;//假設的關鍵字型別
typedef struct rectype;
typedef rectype seqlist[n+1];//seqlist為順序表型別,表中第0個單元一般用作哨兵
void main()
//r[1..n]是待排序的檔案,採用自下而上掃瞄對r做氣泡排序
void bubblesort(seqlist r)}}
}void swap(seqlist r,int i,int j)
執行結果:
C 資料結構(氣泡排序,選擇排序)
它重複地遍歷要拍學的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。遍歷數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。這個演算法的名字由來是因為越小的元素會經由交換慢慢 浮 到數列的頂端。氣泡排序演算法的運作如下 第一種方法 defbubble sort alis...
資料結構 氣泡排序
起泡排序的過程很簡單。首先將第乙個記錄的關鍵字和第二個記錄的關鍵字進行比較,若為逆序,則將兩個記錄交換之,然後比較第二個記錄和第三個記錄的關鍵字。依次類推,直至第n 1個記錄和第n個記錄的關鍵字進行比較為止。上述過程稱作第一趟起泡排序,其結果使得關鍵字最大的記錄被安置到最後乙個記錄的位置上。然後進行...
資料結構 氣泡排序
氣泡排序演算法的基本思想是 假設待排序表長為n,從後往前 或從前往後 兩兩比較相鄰元素的值,若為逆序 即a i 1 a i 則交換它們,直到序列比較完。我們稱它為一趟冒泡,如果將最小的元素交換到待排序序列的第乙個位置 關鍵字小的元素往上 漂浮 這就是氣泡排序名字的由來 下一趟冒泡時,前一趟確定的最小...