變位詞程式的實現

2021-07-25 10:37:31 字數 1206 閱讀 6965

這篇文章是 讀厚《程式設計珠璣》系列部落格 的第 2 篇,主要的內容是《程式設計珠璣》第二章最後提出的變位詞程式的實現。

問題**於《程式設計珠璣》第二章中最後提出的變位詞程式的實現。其中的變位詞的概念,在第二章開篇的 c 問題中得到了闡釋。

c. 給定乙個英語詞典,找出其中所有變位詞的集合。例如,『pots』,『stop』,『tops』互為變位詞,因為每乙個單詞都可以通過改變其他單詞中字母的順序來得到。

我們所實現的變位詞程式需要做的就是:將字典讀入,然後找出所有的變位詞集合

將程式分為三個部分:

最後,通過管道將三個程式連線起來:

sign < words.txt | sort | squash > gramlist.txt
最終gramlist.txt中就是我們需要的結果。

//

// sign.c

// somecode

//// created by 羅遠航 on 16/12/2016.

//#include

#include

#include

#define wordmax 100

int charcomp(const

void *x, const

void *y)

int main()

}

//

// squash.c

// somecode

//// created by 羅遠航 on 16/12/2016.

//#include

#include

#include

#define wordmax 100

int main()

printf("\n");

return

0;}

執行程式之後,我找到了幾個比較長的變位詞:

algorithm's logarithm's 

anatomicopathological pathologicoanatomical

paradisaically paradisiacally

……

變位詞程式c 實現

include include include include include include usingnamespace std const int max n 100 5 const intmax words 1000 設定最多可對1000個變位詞進行處理 char line max n 讀檔...

程式設計珠璣 變位詞程式的實現

這個程式的實現有助於壓縮key的大小,使查詢效率更高 1.問題描述 給定一本英語單詞詞典,請找出所有的變位詞集。所謂的變位詞是指,組成各個單詞的字母完全相同,只是字母排列的順序不同。2.解決思路 程式設計珠璣的變位詞程式要按照三個步驟來執行,其中前乙個步驟程式的輸出作為下乙個步驟程式的輸入 第一 程...

程式設計珠璣 變位詞程式的實現

這個程式的實現有助於壓縮key的大小,使查詢效率更高 1.問題描述 給定一本英語單詞詞典,請找出所有的變位詞集。所謂的變位詞是指,組成各個單詞的字母完全相同,只是字母排列的順序不同。2.解決思路 第一 程式標識單詞,第二 程式排序標識後的檔案,第三 程式將這些單詞壓縮為每個變位詞類一行的形式 下面是...