[問題] 合併兩個vector

看板C_and_CPP (C/C++)作者時間14年前 (2012/05/01 13:27), 編輯推噓4(409)
留言13則, 6人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) g++ 問題(Question): 就是我有兩個vector想合併,其實這兩個vector指的是相同的東西,資料有順序性 不過兩個vector讀取進來的source不同,先讀取一個source再讀取另一個source, 我現在想把兩個vector結合成一個vector,並且保有原始資料的順序性 不知道怎麼放在一起,有點confuse 程式碼(Code):(請善用置底文網頁, 記得排版) class data_typeC { data_typeA dataA; data_typeB dataB; data_typeC(data_typeA j, data_typeB k){ dataA=j ; dataB=k; } } //////////////////////////////////////////////////////// int i, j; vector<data_typeA> vectorA; vector<data_typeB> vectorB; vector<data_typeC> vectorC; vector<data_typeA>::iterator iterA; vector<data_typeB>::iterator iterB; data_typeA A_temp; data_typeB B_temp; for(iterA=vectorA.begin(); iterA!=vectorA.end(); iterA++){ for(iterB=vectorB.begin(); iterB!=vectorB.end(); iterB++){ if(i=j){ A_temp=(*iterA); B_temp=(*iterB); vectorC.push_back(A_temp,B_temp); } j++ } j=0; i++; } 補充說明(Supplement): 程式碼只是大略,有些變數忘記宣告的話大家就稍微包含一下 小弟以為重點是在兩個for迴圈內,有勞高手出手相救了!謝謝。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.116.187.188 ※ 編輯: FuturaNBHD 來自: 140.116.187.188 (05/01 13:32)

05/01 13:36, , 1F
union?
05/01 13:36, 1F

05/01 13:36, , 2F
std::pair?
05/01 13:36, 2F
※ 編輯: FuturaNBHD 來自: 140.116.187.188 (05/01 13:41)

05/01 13:46, , 3F
應該說vectorC的資料型態=vectorA+vectorB的資料型態
05/01 13:46, 3F
※ 編輯: FuturaNBHD 來自: 140.116.187.188 (05/01 13:50)

05/01 14:09, , 4F
看不懂,能舉例嗎?
05/01 14:09, 4F

05/01 14:40, , 5F

05/01 14:45, , 6F
只要一個迴圈就夠了
05/01 14:45, 6F

05/01 14:56, , 7F
三樓推文讓我也很好奇 XDD
05/01 14:56, 7F

05/01 14:59, , 8F
LOL 用了 printf 不就讓 typedef 變成沒意義了嗎
05/01 14:59, 8F

05/01 15:02, , 9F
如果要考慮到程式碼的維護容易度的話,也可以用cout
05/01 15:02, 9F

05/01 15:03, , 10F
這裡用 printf 只用於檢查其中的數值,算個人的撰寫習慣吧
05/01 15:03, 10F

05/01 15:25, , 11F
http://codepad.org/6vW1pjpt 用 cout 的版本
05/01 15:25, 11F

05/01 19:06, , 12F
感謝linotwo大大熱心幫助
05/01 19:06, 12F

05/01 19:08, , 13F
就C=A+B. anyway感謝linotwo大大
05/01 19:08, 13F
文章代碼(AID): #1FdtHEQo (C_and_CPP)
文章代碼(AID): #1FdtHEQo (C_and_CPP)