本文是[資料結構基礎系列(9):排序]中第4課時[交換排序之氣泡排序]的例程。
氣泡排序
#include
#define maxsize 20
typedef
int keytype; //定義關鍵字型別
typedef
char infotype[10];
typedef
struct
//記錄型別
rectype; //排序的記錄型別定義
void bubblesort(rectype r,int n)
printf("i=%d: ",i);
for (k=0; kprintf("%d ",r[k].key);
printf("\n");
}}int main()
; for (i=0; iprintf("排序前:");
for (i=0; iprintf("%d ",r[i].key);
printf("\n");
bubblesort(r,n);
printf("排序後:");
for (i=0; iprintf("%d ",r[i].key);
printf("\n");
return
0;}
改進的演算法(一趟冒泡沒有交換,即時結束排序過程)
#include
#define maxsize 20
typedef
int keytype; //定義關鍵字型別
typedef
char infotype[10];
typedef
struct
//記錄型別
rectype; //排序的記錄型別定義
void bubblesort1(rectype r,int n)
printf("i=%d: ",i);
for (k=0; kprintf("%d ",r[k].key);
printf("\n");
if (exchange==0) //中途結束演算法
return;
}}int main()
; for (i=0; iprintf("排序前:");
for (i=0; iprintf("%d ",r[i].key);
printf("\n");
bubblesort1(r,n);
printf("排序後:");
for (i=0; iprintf("%d ",r[i].key);
printf("\n");
return
0;}
資料結構 交換排序之氣泡排序 快速排序
交換排序 include include void bubblesort int a,int n if flag 0 printf 氣泡排序第 d趟結果為 i 1 for int i 0 i printf n printf n int partition int a,int low,int high...
資料結構 排序 交換排序 氣泡排序法
資料結構 排序 交換排序 氣泡排序法 氣泡排序 bubble sorting 的基本思想是 設待排序n個元素存放在陣列a n 中,無序區範圍初始為 a 0 a 1 a 2 a n 1 冒泡 排序方法是在當前無序區內,從最上面的元素a 0 開始,對每兩個相鄰的元素a i 1 和a i i 0,1,n ...
資料結構 排序 交換排序 氣泡排序法
氣泡排序 bubble sorting 的基本思想是 設待排序n個元素存放在陣列a n 中,無序區範圍初始為 a 0 a 1 a 2 a n 1 氣泡排序方法是在當前無序區內,從最上面的元素a 0 開始,對每兩個相鄰的元素a i 1 和a i i 0,1,n 1 進行比較,且使值較小的元素換至值較大...