1.直接插入排序
#include
#define maxsize 20
typedef
int keytype; //定義關鍵字型別
typedef
char infotype[10];
typedef
struct
//記錄型別
rectype; //排序的記錄型別定義
void insertsort(rectype r,int n) //對r[0..n-1]按遞增有序進行直接插入排序
r[j+1]=tmp; //在j+1處插入r[i]
}}int main()
; for (i=0; iprintf("排序前:");
for (i=0; iprintf("%d ",r[i].key);
printf("\n");
insertsort(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 insertsort(rectype r,int n) //對r[0..n-1]按遞增有序進行直接插入排序
r[j+1]=tmp; //在j+1處插入r[i]
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");
insertsort(r,n);
printf("排序後:");
for (i=0; iprintf("%d ",r[i].key);
printf("\n");
return
0;}
程式執行結果演示:
3.折半插入排序
#include
#define maxsize 20
typedef
int keytype; //定義關鍵字型別
typedef
char infotype[10];
typedef
struct
//記錄型別
rectype; //排序的記錄型別定義
void insertsort1(rectype r,int n) //對r[0..n-1]按遞增有序進行直接插入排序
for (j=i-1; j>=high+1; j--)
r[j+1]=r[j];
r[high+1]=tmp;
}}int main()
; for (i=0; iprintf("排序前:");
for (i=0; iprintf("%d ",r[i].key);
printf("\n");
insertsort1(r,n);
printf("排序後:");
for (i=0; iprintf("%d ",r[i].key);
printf("\n");
return
0;}
程式執行結果演示:
第14周專案1 1 驗證演算法直接插入排序
檔名稱 cpp1.作 者 薛瑞琪 完成日期 2017 年 12 月 7 日 版 本 號 v1.0 問題描述 用序列作為測試資料,輸入描述 無需輸入 程式輸出 實現各種演算法的函式的測試結果 1.直接插入排序 include define maxsize 20 typedef int keytype ...
第16周專案1(1)直接插入排序
問題及 1 直接插入排序 檔名稱 專案1.1.cpp 完成日期 2015.12.19 輸入描述 無 程式輸出 測試資料 include define maxsize 20 typedef int keytype 定義關鍵字型別 typedef char infotype 10 typedef str...
第15周專案1 2驗證演算法之直接插入排序
問題 檔名稱 123.cpp 作 者 王靖淇 完成日期 2016年12月8日 版 本 號 v1.0 問題描述 請用直接插入排序演算法,完成序列的排序 輸入描述 無 程式輸出 測試資料 include define maxsize 20 typedef int keytype 定義關鍵字型別 type...