C++ 链表的向量
C++ Vector of linked lists
>我有一个嵌套的模板参数,形式为
vector<list<int, string> >
.
也就是说,它是包含整数值和字符串单词的链表向量。如果这不是有效的表格,请告诉我。我的问题是打电话给它。如果"table"是上述数据类型,是否可以调用索引,例如 table[0]?如果是这样,我该如何开始遍历该索引中的链表?
使用您定义的嵌套数据结构,您完全正确地调用您提到的索引,table[0]
。您可以完全对此执行列表操作。为了使您的代码更干净,执行以下操作可能会有所帮助:
list<string> listInVector = table[i];
因此,您不会在table
中对索引执行操作感到困惑,相反,您可以使用该标识符使代码更干净。
容器中的元素是单个元素。如果你想有多个元素,例如,一个int
和一个std::string
你需要把它们放在一个合适的结构中,例如,放在一个std::pair<int, std::string>
中:
std::vector<std::list<std::pair<int, std::string>>> table;
要在特定位置遍历列表中的元素,您可以使用,例如:
std::list<std::pair<int, std::strin>>::iterator it(table[i].begin()), end(table[i].end());
for (; it != end; ++it) {
std::cout << "int=" << it->first << " string=" << it->second << "n";
}
"如果这不是一个有效的表格,请告诉我"
是的,它无效,我想你的意思是:-
std::vector< std::list<std::pair<std::string, int> > > table ;
如何访问 ?
像这样的东西:-
typedef std::pair<std::string , int> ele;
std::list<ele>::iterator it = table[i].begin(); //for ith table
for(;it!=table[i].end();++it)
std::cout<<it->first<<" "<<it->second;
相关文章:
- 反向给定链表中的K节点
- 如果没有malloc,链表实现将失败
- 文本文件中的单词链表
- 努力将整数转换为链表。不知道我在这里做错了什么
- 链表,反向函数,数据结构
- 在 c++ 中具有向量的双向链表构造函数
- 使用向量初始化C++中的链表
- 创建对链表向量时 Gnu 编译器的错误:无效使用"::"
- 链表与向量
- 链表:无法访问另一个结构中的结构向量
- 链表与动态数组用于使用向量类实现堆栈
- 如何访问链表的私有向量
- C++ 链表的向量
- C++:制作链表的向量
- 如何在 C/C++ 中的向量中保存链表
- 从向量到链表C++
- 如何在C++中创建一个链表向量
- 双链表指针的双链表向量
- 带有向量的链表
- 如何在c++中转换指针向量到链表