list容器之数据的存取

2021-03-02 15:41:25 浏览数 (1)

数据的存取

注意:[]和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;
}

0 人点赞