資料結構例程 交換排序之氣泡排序

2021-09-23 18:00:16 字數 1389 閱讀 5116

本文是[資料結構基礎系列(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 進行比較,且使值較小的元素換至值較大...