c++ 如何使用迭代器填充未知大小的向量?

qf9go6mv  于 2023-05-24  发布在  其他
关注(0)|答案(1)|浏览(145)

我试图创建一个图形,我不知道它的大小,用户填充矢量,直到用户想要的。如何使用迭代器获取元素?
未完成的代码:

#include <iostream>
#include <vector>
#include <iterator>
#include <list>

void main(void)
{
    {
        using namespace std;
        
        vector<vector<char>> graph;
        vector<vector<char>>::iterator outerMove;
        vector<char>::iterator innerMover;
        cout << "enter your verteces name one by one and write done when you are done";
        for (outerMove = graph.begin(); outerMove != graph.end(); ++outerMove)
        {
            //first get the size of vector , how much user wants enters 
        }
        for (innerMover = )
        {
            //now here graph.push_back(innerMove) 
        }
}

谢谢你的帮助。

kmbjn2e3

kmbjn2e31#

在这种情况下,你不使用迭代器,你使用push_back并让向量完成它的工作(即自动调整大小):

vector<std::string> graph;
std::string outermove;  // a proper "list of chars"!

while ((cin >> outermove) && outermove != "done")
    graph.push_back(outermove);

与问题无关:
void main()在C中是非法的,main需要返回int(void)是一种C语言编写空参数列表的方式-在C中它只是()

相关问题