2014-05-21 57 views
-2

我們的項目是爲任何我們想要的DS創建事件的搜索引擎。搜索引擎將具有事件日期和事件描述。我們的團隊選擇使用散列法,如果有任何碰撞,我們通過將它插入BST來解決它。問題是,當我插入值日期和描述,我想使節點的值都是日期和desc。所以我寫了這個,但顯然它不會工作。你知道我怎樣才能將參數的值傳遞給一個變量(節點)?將參數分配給一個變量C++

void insert2(int date, string desc){ 
    .......... 
    newNode->setVal(date + desc); //Problem 
    .........} 
+1

樹中的節點是怎樣的? – HAL

+1

除了你試圖向int添加一個字符串的事實之外,我並沒有真正理解你的問題。請注意C++!= PHP。請清楚描述問題併發布[SSCE](http://sscce.org/)。 –

+1

答案或多或少取決於'setVal'參數。 (或者也是這個問題的一部分呢?) – Appleshell

回答

2

這聽起來像你想要將日期和描述合併成一個對象。

答: 您可以創建一個結構或類來組合數據。 http://www.cplusplus.com/doc/tutorial/structures/

struct SearchEngineEntry{ 
    int date; 
    string desc; 
}; 


void insert2(int date, string desc){ 
    //... 
    SearchEngineEntry entry; 
    entry.date = date; 
    entry.desc = desc; 
    newNode->setVal(SearchEngineEntry{entry); //Problem 
    //...  
} 

B.可以在數據結構使用一個構建 http://www.cplusplus.com/reference/tuple/tuple/

void insert2(int date, string desc){ 
    //... 
    std::tuple<int,string> entry(date,desc); 
    newNode->setVal(entry); //Problem 
    //... 
} 
1

第三個解決方案是整型轉換爲串聯的字符串。

newNode->setVal(std::to_string(date) + desc); 

您也可以將節點實現更改爲接受兩個值。

Node::setVal(int date, std::string desc) { //... 

但是不知道剩下的代碼很難給出具體的答案。

相關問題