問題:
[cpp]view plain
copy
/* * 檔名稱:專案1-1.cbp
* 作 者:程德泉
* 完成日期:2023年12月15日
* 版 本 號:v1.0
* 問題描述: 驗證直接插入排序
* 輸入描述:無
* 程式輸出:測試資料 */
1.直接插入排序
[cpp]view plain
copy
#include
#define maxsize 20
typedef
intkeytype;
//定義關鍵字型別
typedef
char
infotype[10];
typedef
struct
//記錄型別
rectype; //排序的記錄型別定義
void
insertsort(rectype r,
intn)
//對r[0..n-1]按遞增有序進行直接插入排序
r[j+1]=tmp; //在j+1處插入r[i]
} }
intmain()
; for
(i=0; i
r[i].key=a[i];
printf("排序前:"
);
for(i=0; i
printf("%d "
,r[i].key);
printf("\n"
);
insertsort(r,n);
printf("排序後:"
);
for(i=0; i
printf("%d "
,r[i].key);
printf("\n"
);
return
0;
}
執行結果:
2.顯示直接插入排序過程
[cpp]view plain
copy
#include
#define maxsize 20
typedef
intkeytype;
//定義關鍵字型別
typedef
char
infotype[10];
typedef
struct
//記錄型別
rectype; //排序的記錄型別定義
void
insertsort(rectype r,
intn)
//對r[0..n-1]按遞增有序進行直接插入排序
r[j+1]=tmp; //在j+1處插入r[i]
printf("i=%d: "
,i);
for(k=0; k
printf("%d "
,r[k].key);
printf("\n"
);
} }
intmain()
; for
(i=0; i
r[i].key=a[i];
printf("排序前:"
);
for(i=0; i
printf("%d "
,r[i].key);
printf("\n"
);
insertsort(r,n);
printf("排序後:"
);
for(i=0; i
printf("%d "
,r[i].key);
printf("\n"
);
return
0;
} 執行結果:
3.折半插入排序
[cpp]view plain
copy
#include
#define maxsize 20
typedef
intkeytype;
//定義關鍵字型別
typedef
char
infotype[10];
typedef
struct
//記錄型別
rectype; //排序的記錄型別定義
void
insertsort1(rectype r,
intn)
//對r[0..n-1]按遞增有序進行直接插入排序
for(j=i-1; j>=high+1; j--)
r[j+1]=r[j];
r[high+1]=tmp;
} }
intmain()
; for
(i=0; i
r[i].key=a[i];
printf("排序前:"
);
for(i=0; i
printf("%d "
,r[i].key);
printf("\n"
);
insertsort1(r,n);
printf("排序後:"
);
for(i=0; i
printf("%d "
,r[i].key);
printf("\n"
);
return
0;
} 執行結果:
學習總結:
插入的三種演算法,其中直接插入最為簡單穩定,適用於小數列。
第16周專案1 驗證演算法(1)直接插入排序
檔名稱 專案1 1.cbp 作 者 滕健 完成日期 2016年12月09日 問題描述 驗證直接插入排序 輸入描述 無 程式輸出 測試資料 include define maxsize 20 typedef int keytype 定義關鍵字型別 typedef char infotype 10 ty...
第16周專案1 驗證演算法
問題及 檔名稱 cpp1.cpp 完成日期 2015年12月14日 版本號 v1.0 1 直接插入排序 include define maxsize 20 typedef int keytype 定義關鍵字型別 typedef char infotype 10 typedef struct 記錄型別...
第16周專案1 驗證演算法(2)
檔名稱 專案1 2.cbp 作 者 孟琪琪 完成日期 2016年12月15日 版 本 號 v1.0 問題描述 驗證希爾排序 快速排序和堆排序 輸入描述 無 程式輸出 測試資料 希爾排序 include define maxsize 20 typedef int keytype 定義關鍵字型別 typ...