問題及**:
[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 單詞的最...