2011-08-29 56 views
-1

Ñ關鍵字我具有可以被映射Ñ關鍵字如下:如何映射基於定界符

1,2,3,4----/5,6,7,8----/9,10,11,12----/-------- 

從上面的線I應該能夠1映射到5,2到6,3到7等等。我也應該能夠映射1到9,1到10,1到11,1到12等,就像我應該能夠映射N個組合。我應該以這樣的方式制定這種通用的方式,使其能夠與N個組合一起工作。請告訴我如何做到這一點的邏輯。

+4

這並不完全清楚。 「關鍵字」是什麼意思? 「分隔符」在哪裏出現? 「地圖」是什麼意思?請舉一個你正在瞄準的輸出例子。並請告訴我們你已經嘗試了什麼。 –

+0

你想讓我們幫你什麼?如何解析文字描述?如何將映射存儲在內存中?請在你的問題中更具體,以便我們能夠回答。 –

+0

我有一個文本框,用戶在其中輸入如下所示的東西: – karthik

回答

0

我不知道,但我想你想要的是這樣的映射: Input: 1,2,3,4\22,23,24,25,\103,104,105,106\並最終得到一個像這樣的地圖:1->(22)->(103), 2->(23)->(104) etc...。 爲了管理,你會需要以下要素:

  • 列表節點
  • 列表
  • 解析
  • 映射

你可以編寫自己的鏈表(這是一個不錯練習,不要太複雜),或者你可以使用其中一個STL/Boost容器。 的一般程序將是

  1. 接受輸入
  2. 驗證輸入
  3. 解析輸入(到一個列表/陣列或臨時變量)
  4. 要麼創建主節點在主列表中,或添加到一個子列表。 (見下文)

您需要一個二維列表。

1 -> 2 -> 3 -> 4 
| |  | | 
22-> 23 -> 24-> 25 
| |  | | 
103->104-> 105->106 

所以每個節點需要至少 2指針(你可以稱他們爲「右」和「下」,無論是空的「106」),但它可能會更好,有4個(最多並且離開以及...對於「1」都是NULL)。這允許動態調整大小,添加等......並且還可以讓您在每個級別都有不同數量的映射。 我確信有很多方法可以做到這一點。