我正在學習編寫代碼並找到有趣的任務,但我不知道從哪裏開始解決它。所以我有一個標題和評論文件需要放在正確的標題下。所以輸入的第一行包含一個數字N,它決定了標題的數量。每行以唯一的文章ID(整數)開頭,後面跟着引號中的標題。沒有更多的標題後,給出評論。開始時有標題ID和評論(一個詞),但是對於相同的ID可能會重複評論。所以這裏是一個文件的結構:C++從文件中讀取並輸出排序的內容
<N>
<ID1> "<Title1>"
...
<IDN> "<TitleN>"
<ID1> <Comment1>
...
<IDK> <CommentK>
現在在輸出文件中,每個標題都有兩行 - 第一個是標題,第二個是註釋。標題必須按升序排列。和評論應該是相反的順序(在開始最新評論)的輸出文件的結構:
<Title1>
<Comment11> ... < CommentK1>
...
<TitleN>
<Comment1N> ... < CommentLN>
例子:
input:
3
1 "This is some title"
3 "Another title"
2 "And one more"
1 COmment
1 Another
3 Great
2 Awesome
3 Lucky
2 Stanley
output
This is some title
Another COmment
And one more
Stanley Awesome
Another Title
Lucky Great
我現在不從哪裏開始。我應該使用數組將數據保存在內存中,然後嘗試以正確的模式對其進行排序?或者將文本文件加載到數據結構中更好一些;在這種情況下是一個鏈表?也許有人可以指導我在正確的方向如何完成這項任務。 (我不要求爲我編碼,只是引導我或給一些算法,這將不勝感激)。謝謝!
也許['std :: multimap'](http://en.cppreference.com/w/cpp/container/multimap)會有用。它允許每個鍵有多個值;使用等效鍵的值將以插入順序存儲。 –