#include
#include
#include
#include
#include
#include
usingnamespace
std;
const
int max_n = 100+5;
const
intmax_words =
1000
;//設定最多可對1000個變位詞進行處理
char
line[
max_n
];//讀檔案的緩衝區
struct wordsa[
max_words
];//變位詞結構體,word為單詞本身,sign為單詞的鍵值
booloperator< (const
words
&c, const
words
&d)// 運算子過載,為了使用sort函式對結構體進行排序
int main()
sort(a
,a+cnt);// 將具有相同標識的單詞歸攏到一起
for(int i=0;iif(strcmp(oldsign,a[i].sign)!=0)
strcpy(oldsign,a[i].sign);
printf("%s ",a[i].word);
}printf("\n");
return0;}
變位詞程式的實現
這篇文章是 讀厚 程式設計珠璣 系列部落格 的第 2 篇,主要的內容是 程式設計珠璣 第二章最後提出的變位詞程式的實現。問題 於 程式設計珠璣 第二章中最後提出的變位詞程式的實現。其中的變位詞的概念,在第二章開篇的 c 問題中得到了闡釋。c.給定乙個英語詞典,找出其中所有變位詞的集合。例如,pots...
程式設計珠璣 變位詞程式的實現
這個程式的實現有助於壓縮key的大小,使查詢效率更高 1.問題描述 給定一本英語單詞詞典,請找出所有的變位詞集。所謂的變位詞是指,組成各個單詞的字母完全相同,只是字母排列的順序不同。2.解決思路 程式設計珠璣的變位詞程式要按照三個步驟來執行,其中前乙個步驟程式的輸出作為下乙個步驟程式的輸入 第一 程...
程式設計珠璣 變位詞程式的實現
這個程式的實現有助於壓縮key的大小,使查詢效率更高 1.問題描述 給定一本英語單詞詞典,請找出所有的變位詞集。所謂的變位詞是指,組成各個單詞的字母完全相同,只是字母排列的順序不同。2.解決思路 第一 程式標識單詞,第二 程式排序標識後的檔案,第三 程式將這些單詞壓縮為每個變位詞類一行的形式 下面是...