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

2021-07-25 09:39:21 字數 1806 閱讀 7621

/*

* 檔名稱 :1.cpp  

* 作    者 :楊俊傑 

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

* 版 本 號 :v1.0  

* 問題描述 :

* 輸出描述 :

*/[cpp]view plain

copy

#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,

intr,

intd) 

//實現基數排序:*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],

intn)   

//採用後插法產生鍊錶

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;  

}  

執行結果:

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

程式 檔名稱 1.cpp 完成日期 2016年12月16日 版本號 vc6.0 觀察執行結果並深刻領會演算法的思路和實現方法。輸入描述 無 程式輸出 測試結果 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 基數的最...