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

2021-07-25 09:39:21 字數 1196 閱讀 5124

問題及**:

/*

*煙台大學計算機與控制工程學院

*作 者:孫啟先

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

*問題描述:用序列作為測試資料,驗證基數排序。

*/#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

執行結果:

知識點總結:

基數排序各關鍵字之間不需要比較,它的過程是先按最低位的值給元素排序,在這個基礎上再按次低位排序,以此類推到最高位。

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

問題及 cpp view plain copy 檔名稱 專案1.cpp 作 者 陳曉琳 完成日期 2016年12月16日 版 本 號 v1.0 問題描述 驗證基數排序 輸入描述 無 程式輸出 測試資料 基數排序 cpp view plain copy include include include ...

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

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

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

all right reserved.檔名稱 houzhui.cpp 作 者 商文軻 完成日期 2015年12月18日 版 本 號 v1.9 include include include define maxe 20 線性表中最多元素個數 define maxr 10 基數的最大取值 define...