第十六周專案1 驗證演算法 基數排序

2021-07-25 10:31:15 字數 1449 閱讀 4618

程式**:

/*                              

* 檔名稱:1.cpp

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

* 版本號:vc6.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) //輸出鍊錶

知識點總結:

先按個位數進行排序,再按十位數進行排序,依次向高位排序。

學習心得:

此法奇特,通俗易懂。

第十六周 專案1 驗證演算法 基數排序

檔名稱 1.cpp 作 者 楊俊傑 完成日期 2016年 12月15日 版 本 號 v1.0 問題描述 輸出描述 cpp view plain copy include include include define maxe 20 線性表中最多元素個數 define maxr 10 基數的最大取值 ...

第十六周 驗證演算法(基數排序)

all right reserved.date 2015年12月14日 版本 v1.0.1 作業系統 xp 執行環境 vc6.0 問題描述 用序列作為測試資料,include include include define maxe 20 線性表中最多元素個數 define maxr 10 基數的最大...

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

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