数据的存取
注意:[]和at方式不能访问list容器里面的元素 原因:list本质是链表,不是线性连续空间存储数据,迭代器也是不支持随机访问的,
代码语言:javascript复制#include<iostream>
using namespace std;
#include<list>
//防止数据修改,只做读取操作
void print(const list<int>& L)
{
for (list<int>::const_iterator it = L.begin(); it != L.end(); it )
{
cout << *it << " ";
}
cout << endl;
}
//list的数据存取
void test()
{
list<int> l1;
l1.push_back(5);
l1.push_back(2);
l1.push_back(0);
cout << "返回容器开头第一个元素:" << l1.front() << endl;
cout << "返回容器结尾最后第一个元素:" << l1.back() << endl;
//验证迭代器不支持随机访问
list<int>::iterator it = l1.begin();
//注意前 和后 的区别
cout << *(it ) << endl;
cout << *it << endl;
cout << *( it) << endl;
it--;
//it 2; 错误,迭代器不支持跳跃式访问
}
int main()
{
test();
system("pause");
return 0;
}