簡體   English   中英

在下面給出的示例中,我如何在向量的向量中 push_back?

[英]how can i push_back in a vector of vector in the example given below?

我正在嘗試解析文本文件。 文本文件可以不同,這取決於用戶。 文本文件將與此類似,

turn 1 12x13 14x14 5x4 1x2 

turn 2 13x13 14x14 5x3 1x3 3x5

turn 3 13x14 14x13 5x2 1x4 1x9 1x12 20x25

turn 4 14x14 14x12 5x1 1x5 12x9

turn 5 14x13 14x12 5x2 

我創建了一個vector<vector<string>> str來逐行存儲文本。 但我想像這樣存儲文本,

str[0][0]=="12x13", str[0][0]=="14x14" ...
str[1][0]=="13x13", str[1][0]=="14x14" ...
str[2][0]=="13x14", str[1][0]=="14x13" ...
...

我只想單獨存儲數字,忽略turn 1輪、 turn 2等。我怎樣才能在 str 中 push_back 這些輸入?

您可以像這樣初始化它:

 vector<vector<string> > vec{ { "1", "2", "3" }, 
                          { "4", "5", "6" }, 
                          { "7", "8", "9" } };

或插入向量中:

string s;    
for (int i = 0; i < ROW; i++) { 

        vector<string> v1; 

        for (int j = 0; j < COL; j++) { 
            cin>>s;
            v1.push_back(s); 
        } 
        vec.push_back(v1); 
    } 

如果你准備好每一行,你可以push_back使用

vector<vector<string>> str;
str.push_back({"12x13", "14x14", "5x4", "1x2"});

或者你可以這樣做:

vector<vector<string>> str;
str.push_back(vector<string>{});
str.at(0).push_back("12x13");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM