C++,STL 040(24.10.20)
内容
1.对list容器(链表)的数据进行存取操作。
2.验证迭代器是否支持双向访问以及随机访问。
运行代码
#include <iostream>
#include <list>
using namespace std;
void test01()
{
list<int> l1;
l1.push_back(1);
l1.push_back(2);
l1.push_back(3);
l1.push_back(4); // 1 2 3 4
cout << "第一个元素:" << l1.front() << endl; // here
cout << "最后一个元素:" << l1.back() << endl; // here
// list容器不是用连续的线性空间来存储数据,其迭代器也不支持随机访问
// l1[0]; --> list容器不支持用[]来访问元素
// l1.at(0); --> list容器不支持用at()来访问元素
// 验证list容器迭代器支持双向访问
list<int>::iterator it01 = l1.begin();
it01++;
it01--;
// 支持 ++ 和 -- 操作,说明支持双向访问
// 验证list容器迭代器不支持随机访问
list<int>::iterator it02 = l1.begin();
// it02 = it02 + 1;
// it02 = it02 + 2;
// it02 = it02 - 1;
// it02 = it02 - 2;
// 不支持以上操作,说明不支持随机访问
}
int main()
{
test01();
return 0;
}