第十六周 專案4 英文單詞的基數排序

2021-07-25 17:25:21 字數 1816 閱讀 6869

問題及**:

[html]view plain

copy

/*           

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

*作    者:  朱建豪  

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

*問題描述:設計乙個基數排序的演算法,將一組英文單詞,按字典順序排列。假設單詞均由小寫字母或空格構成,最長的單詞有maxlen個字母。   

*/     

[cpp]view plain

copy

#include 

#include 

#include 

#define maxlen 9                //單詞的最大長度  

#define radix  27               //基數rd為27,分別對應' ','a',…'z'  

typedef

char

string[maxlen+1];  

//定義string為字元陣列型別  

typedef

struct

node    

linknode;    

void

dispword(string r,

intn) 

//輸出單詞  

void

preprocess(string r,

intn)    

//對單詞進行預處理,用空格填充尾部至maxlen長  

}    

}    

void

endprocess(string r,

intn)    

//恢復處理,刪除預處理時填充的尾部空格  

}    

void

distribute(string r,linknode *head,linknode *tail,

intj,

intn)    

//按關鍵字的第j個分量進行分配,進入此過程時各佇列一定為空  

else

}    

}    

void

collect(string r,linknode *head)    

//依次將各非空佇列中的記錄收集起來  

void

radixsort(string r,

intn)    

//對r[0..n-1]進行基數排序  

}    

intmain()    

;    

printf("排序前:\n"

);    

dispword(r,n);    

preprocess(r,n);    

printf("預處理後:\n"

);    

dispword(r,n);    

radixsort(r,n);    

printf("排序結果:\n"

);    

dispword(r,n);    

endprocess(r,n);    

printf("最終結果:\n"

);    

dispword(r,n);    

printf("\n"

);    

return

0;    

}    

執行結果:

第十六周專案4 英文單詞的基數排序

設計乙個基數排序的演算法,將一組英文單詞,按字典順序排列。假設單詞均由小寫字母或空格構成,最長的單詞有maxlen個字母。include include include define maxlen 9 單詞的最大長度 define radix 27 基數rd為27,分別對應 a z typedef ...

第十六周 專案4 英文單詞的基數排序

問題描述 設計乙個基數排序的演算法,將一組英文單詞,按字典順序排列。假設單詞均由小寫字母或空格構成,最長的單詞有maxlen個字母。輸入描述 若干資料 輸出描述 若干資料 include include include define maxlen 9 單詞的最大長度 define radix 27 ...

第十六周 專案4 英文單詞的基數排序

問題描述及 煙台大學計控學院 作 者 劉春彤 完成日期 2016年12月12日 問題描述 設計乙個基數排序的演算法,將一組英文單詞,按字典順序排列。假設單詞均由小寫字母或空格構成,最長的單詞有maxlen個字母。include include include define maxlen 9 單詞的最...