STL 列表(list)详解

  列表(list)是STL中线性表的链式存储形式,STL标准库中一般采用双向循环链表实现列表。

先看一段代码:

//   STL list 列表
#include <iostream>
#include <list>
#include <vector>
using namespace std;

int main()
{
	vector<int> ivec(3,4);  // 使用3个4初始化向量对象ivec
	list<int> ilist(5,2);   //使用5个2初始化列表ilist
	ilist.push_back(1);     //ilist尾部添加元素1
	ilist.insert(ilist.begin(), 7);   //ilsit头部添加元素7
	ilist.insert(ilist.end(), ivec.begin(), ivec.end()); //在ilist尾部添加ivec所有元素

	for (list<int>::iterator it = ilist.begin(); it != ilist.end(); ++it)
		cout<<*it;   //使用迭代器访问每个元素
	cout<<endl;

	ilist.sort();  // 将元素从小到大排序

	for (/*list<int>::iterator*/ it = ilist.begin(); it != ilist.end(); ++it)
		cout<<*it;   //使用迭代器访问每个元素
	cout<<endl;

	return 0;
}

输出结果:

7222221444

1222224447

列表list相对于vector的新增加的部分接口
接口 接口描述
void push_front(const T& x); 在列表的第一个元素前插入新元素x
void pop_front(); 删除列表中的第一个元素
void remove(const T&x); 删除所有值为x的元素
void unique(); 删除所有相邻的相同元素,只保留一个
void reverse(); 将所有元素次序倒置
void sort(); 将所有元素按从小到大的次序排序
void merge(list &x); 与有序列表x求并集,构成新的有序列表,原列表应为有序列表









.

.

.

.

.


STL 向量(vertor)详解:http://blog.csdn.net/qingdujun/article/details/17468181

STL 栈适配器(stack)详解:http://blog.csdn.net/qingdujun/article/details/17483407

STL 队列适配器(queue)详解:http://blog.csdn.net/qingdujun/article/details/17498707

STL 串类型(string)详解:http://blog.csdn.net/qingdujun/article/details/17498795

STL 多维数组(vector<vector<> >)详解:http://blog.csdn.net/qingdujun/article/details/17499871

STL 集合(set)详解:http://blog.csdn.net/qingdujun/article/details/17501875



转载请保留原文地址:http://blog.csdn.net/qingdujun/article/details/17483185


你可能感兴趣的:(STL 列表(list)详解)