c c 文字單詞查詢

2021-08-04 20:11:09 字數 1158 閱讀 7069

文字查詢

該程式將讀取使用者指定的任意文字檔案,然後允許使用者從該檔案中查詢單詞。查詢的結果是該單詞出現的次數,並列出每次出現所在的行,如果某單詞在同一行中多次出現,程式將只顯示該行一次。行號按公升序顯示。

要求:a. 它必須允許使用者指明要處理的檔案名字。

b. 程式將儲存該檔案的內容,以便輸出每個單詞所在的原始行。

vectorlines;//o(1)  完美hash

或 maplines;//o(logn)

或 unorderedmaplines;//o(1) 

c. 它必須將每一行分解為各個單詞,並記錄每個單詞所在的所有行。 在輸出行號時,應保證以公升序輸出,並且不重複。 

map> word2line;

mapdict;

d. 對特定單詞的查詢將返回出現該單詞的所有行的行號。

e. 輸出某單詞所在的行文字時,程式必須能根據給定的行號從輸入 檔案中獲取相應的行。

///

/// @file textquery.cc

/// @author guoleida([email protected])

/// @date 2017-08-02 17:30:56

///#include #include #include #include #include #include #include using std::cout;

using std::endl;

using std::cin;

using std::string;

using std::ifstream;

using std::vector;

using std::map;

using std::set;

using std::istringstream;

class textquery

;void textquery::readfile(const string &filename) }}

void textquery::query(const string & word)

return 0;

}

執行結果如下:

C 單詞查詢程式(自己錄入文字)

我是程式設計新手,第一次寫。注釋很詳細,都是自己的理解,錯了也合理。呵呵 include include include include include include using namespace std 類定義 class textquery setrun query const string...

單詞查詢樹

兩種方法 給出一些列號碼,若果任乙個號碼不在另乙個中充當字首,那麼這系列號碼是合理的輸出yes,否則輸出no 思路 標頭檔案中find函式的使用,按長度從小到大排列,那麼能當另乙個號碼字首的只能是前乙個當後乙個的字首,所以乙個乙個找 時間複雜度 o n include include include...

單詞查詢樹

一 概念 從上面的圖中,我們或多或少的可以發現一些好玩的特性。第一 根節點不包含字元,除根節點外的每乙個子節點都包含乙個字元。第二 從根節點到某一節點,路徑上經過的字元連線起來,就是該節點對應的字串。第三 每個單詞的公共字首作為乙個字元節點儲存。二 使用範圍 既然學trie樹,我們肯定要知道這玩意是...