1. 程式人生 > >標準模板庫(list)

標準模板庫(list)

對list的理解:

1.list不支援隨機訪問,只支援順序訪問。

2.size用於獲得list的節點個數,clear用於清空list。

3.front和back分別得到首部元素和尾部元素。

#include<iostream>
#include<list>
using namespace std;

int main()
{
	list<int> lst;
	lst.push_back(1);//尾部新增一個元素
	lst.push_back(12);//尾部新增一個元素
	cout<<lst.front()<<" "<<lst.back()<<endl;
	cout<<"元素的節點個數:"<<lst.size()<<endl;
	lst.pop_back();//彈出尾元素
	lst.push_front(2);//首部新增一個元素
	cout<<lst.front()<<" "<<lst.back()<<endl;
	lst.pop_front();//彈出首元素,只剩下一個元素
	cout<<lst.front()<<" "<<lst.back()<<endl;
	cout<<"元素的節點個數:"<<lst.size()<<endl;
	lst.clear();//清空,節點數為0
	cout<<"元素的節點個數:"<<lst.size()<<endl;
	lst.push_front(1);
	lst.push_front(2);
	lst.push_front(3);
	lst.push_front(4);
	//迭代器對list進行遍歷
	for(list<int>::iterator iter=lst.begin();iter!=lst.end();iter++)
	{
		int &p=*iter;
		cout<<p<<" ";
	}
	cout<<endl;
	lst.insert(iter,2,5);//在iter所指向的位置新增兩個5
	lst.insert(iter,2);//在iter所指向的位置新增2
	iter=lst.begin();//改變iter指向的位置
	lst.insert(iter,2,6);//在iter所指向的位置新增兩個6
	lst.insert(iter,9);//在iter所指向的位置新增9
	for(iter=lst.begin();iter!=lst.end();iter++)
	{
		int &p=*iter;
		cout<<p<<" ";
	}
	cout<<endl;
	lst.erase(iter=lst.begin());//刪掉iter指向位置的元素
	for(iter=lst.begin();iter!=lst.end();iter++)
	{
		int &p=*iter;
		cout<<p<<" ";
	}
	cout<<endl;
	return 0;
}

執行結果: