我正在尝试使用列表向量来存储信息,然后删除列表中的中间项并再次打印列表。我不知道如何访问存储在vector中的列表的各个变量,或者如何删除该元素。
我正在尝试从列表中删除元素'puppy'。
V
当前代码 -
#include <iostream>
#include <string>
#include <vector>
#include <list>
using namespace std;
int main() {
vector<list<string>> hashT;
hashT.resize(3);
int index = 0;
hashT[0].push_back("hello");
hashT[0].push_back("Puppy");
hashT[0].push_back("friend");
typename list<string>::iterator it = hashT[0].begin();
for (; it != hashT[0].end(); ++it)
{
index = 0;
//print lists?
cout << *it;
//delete puppy?
hashT[0].erase(hashT[0].begin() + index)
//print list?
index++;
}
return 0;
}
它仍在打印所有3个值。
答案 0 :(得分:0)
#include <iostream>
#include <string>
#include <vector>
#include <list>
using namespace std;
int main() {
vector<list<string>> hashT;
hashT.resize(3);
hashT[0].push_back("hello");
hashT[0].push_back("Puppy");
hashT[0].push_back("friend");
typename list<string>::iterator it = hashT[0].begin();
for (; it != hashT[0].end(); it++)
{
if(*it == "Puppy")
{
hashT[0].erase(it);
break;
}
}
typename list<string>::iterator it2 = hashT[0].begin();
for (; it2 != hashT[0].end(); ++it2)
{
cout << *it2;
}
cout << endl;
return 0;
}