第16周專案1 驗證演算法(8)基數排序

2021-07-25 10:26:20 字數 1327 閱讀 3787

問題:

/*  

* 檔名稱:123.cpp

* 作 者:王靖淇

* 完成日期:2023年12月16日

* 版 本 號:v1.0

* 問題描述:驗證基數排序

* 輸入描述:無

* 程式輸出:測試資料

*/

**:

#include #include #include #define maxe 20         //線性表中最多元素個數

#define maxr 10 //基數的最大取值

#define maxd 8 //關鍵字位數的最大取值

typedef struct node

rectype;

void crealink(rectype *&p,char *a,int n);

void displink(rectype *p);

void radixsort(rectype *&p,int r,int d) //實現基數排序:*p為待排序序列鍊錶指標,r為基數,d為關鍵字位數

else

p=p->next; //取下乙個待排序的元素

}p=null; //重新用p來收集所有結點

for (j=0; jnext=head[j];

t=tail[j];}}

t->next=null; //最後乙個結點的next域置null

//以下的顯示並非必要

printf(" 按%d位排序\t",i);

displink(p);

}}void createlink(rectype *&p,char a[maxe][maxd],int n) //採用後插法產生鍊錶

else

}t->next=null;

}void displink(rectype *p) //輸出鍊錶

printf("\n");

}int main()

; for (i=0; i

執行結果:

執行結果:

運用了基數排序的方式對序列進行排序。

學習心得:

基數排序需要建立鍊錶,將每次排序後得到的序列用指標串起來,再進行下一次排序,直到最高位的排序結束,從而得到有序序列。

第16周專案1 驗證演算法(8)基數排序

檔名稱 專案1 2.cbp 作 者 滕健 完成日期 2016年12月09日 問題描述 驗證基數排序 輸入描述 無 程式輸出 測試資料 include include include define maxe 20 線性表中最多元素個數 define maxr 10 基數的最大取值 define max...

第16周專案1 驗證演算法(8)基數排序

問題及 檔名稱 bigice.cbp 作 者 bigice 完成日期 2016年12月23日 版 本 號 v1.0 問題描述 驗證基數排序 輸入描述 無 程式輸出 測試資料 include include include define maxe 20 線性表中最多元素個數 define maxr 1...

第16周專案1 驗證演算法

問題及 檔名稱 cpp1.cpp 完成日期 2015年12月14日 版本號 v1.0 1 直接插入排序 include define maxsize 20 typedef int keytype 定義關鍵字型別 typedef char infotype 10 typedef struct 記錄型別...