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

2021-08-13 12:37:01 字數 1564 閱讀 3396

/*

*all rights reserved.

*檔名稱:dsitem15-1(7).cpp

*作 者:於子淇

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

*版 本 號:code::blocks 12.11

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

*輸入描述:無

*程式輸出:見程式執行結果演示

*/

#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; j//對於每乙個鏈隊迴圈

if (head[j]!=null) //進行收集

else

}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//將b[i]轉換成字串

a[i][j]='\0';

}createlink(p,a,n);

printf("\n");

printf(" 初始關鍵字\t"); //輸出初始關鍵字序列

displink(p);

radixsort(p,10,2);

printf(" 最終結果\t"); //輸出最終結果

displink(p);

printf("\n");

return

0;}

程式執行結果演示:

第16周 專案1 基數排序

檔名稱 1.pp 完成日期 2015年12月14日 問題描述 驗證演算法 include include include define maxe 20 線性表中最多元素個數 define maxr 10 基數的最大取值 define maxd 8 關鍵字位數的最大取值 typedef struct ...

第16周專案1 (6)基數排序

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

第16周專案1 (8)基數排序

問題描述及 煙台大學計算機與控制工程學院 作 者 馬賽 完成日期 2016年12月15日 問題描述 用序列作測試資料,驗證歸基數排序 endif btree h included include include include define maxe 20 線性表中最多元素個數 define max...