第15周專案1(3) 驗證氣泡排序演算法

2021-08-13 03:18:47 字數 1584 閱讀 6946

1.氣泡排序

#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;}

程式執行結果演示:

2.改進的演算法(一趟冒泡沒有交換,即時結束排序過程)

#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;}

程式執行結果演示:

兩者均屬氣泡排序的演算法,但是後者排除了贅餘部分,使得演算法更加高效執行速度更迅速,在實際運用演算法時我們也該考慮到這一點

第14周專案1 3 驗證演算法 氣泡排序

檔名稱 cpp1.作 者 薛瑞琪 完成日期 2017 年 12 月 7 日 版 本 號 v1.0 問題描述 用序列作為測試資料,輸入描述 無需輸入 程式輸出 實現各種演算法的函式的測試結果 include define maxsize 20 typedef int keytype 定義關鍵字型別 t...

第13周專案4 (1)氣泡排序

編號及 版本號 v1.0 作者 范星月 完成日期 2014年11月23日 問題描述 用氣泡排序 問題輸入 輸入陣列 問題輸出 由大到小排序 include include using namespace std void bubble sort int arr,int num void output...

第15周專案1 (3)希爾排序

問題描述及 煙台大學計算機與控制工程學院 作 者 馬賽 完成日期 2016年12月8日 include define maxsize 20 typedef int keytype 定義關鍵字型別 typedef char infotype 10 typedef struct 記錄型別 rectype...