list(链表)
list 将元素按顺序存储在链表中,与向量(vector)相比,它允许快速的插入和删除,但是随机访问却比较慢
list 对象函数:
1、assign() //给list赋值
2、back() //返回最后一个元素
3、erase() //删除一个元素
4、clear() //删除所有的元素
5、empty() //如果list为空,返回true
6、begin() //返回指向第一个元素的迭代器
7、end() //返回指向最后一个元素的迭代器
8、get_allocator() //返回list的配置器
9、insert() //插入一个元素到list中
10、swap() //交换两个list
11、merge() //合并两个list
12、splice() //合并两个list
13、pop_back() //删除最后一个元素
14、pop_front() //删除第一个元素
15、push_back() //末尾添加一个元素
16、push_front() //头部添加一个元素
17、rbegin() //返回指向第一个元素的逆向迭代器
18、rend() //返回指向最后一个元素的逆向迭代器
19、resize() //返回list的大小
20、size() //返回list中元素个数
21、max_size() //返回list中能容纳元素的个数
22、reverse() //把list中元素倒转
23、sort() //把list中元素排序
24、unique() //删除list中重复的元素
#include <iostream>
#include <list>
#include <algorithm>
#include <numeric>
using namespace std;
list <int> listOne; //创建一个名为listOne的list对象
list <int>::iterator i; //声明 i 为迭代器
list <int>::reverse_iterator j;
list <char> listTwo;
list <char>::iterator k;
list <char>::reverse_iterator m;
int main()
{
listOne.push_front(2); //从前面向listOne中添加数据
listOne.push_front(1);
listOne.push_back(3); // 从后面向list中添加数据
listOne.push_back(4);
for(i = listOne.begin();i != listOne.end();++i) //从前向后显示list中的数据
cout<<*i<<" ";
cout << endl;
for(j = listOne.rbegin();j != listOne.rend();++j) //从后向前显示list中数据
cout<<*j<<" ";
cout <<endl;
int t = accumulate(listOne.begin(),listOne.end(),0); //list中的数据的累加
cout<<t<<endl;
i = max_element(listOne.begin(),listOne.end()); // 返回list中最大的数
cout<<*i<<endl;
// 迭代器对于字符的处理
listTwo.push_front('B');
listTwo.push_front('A');
listTwo.push_back('x');
listTwo.push_back('y');
for(k = listTwo.begin();k != listTwo.end();++k)
cout<<char(*k)<<" ";
cout<<endl;
k = max_element(listTwo.begin(),listTwo.end());
cout<<char(*k)<<endl;
for(m = listTwo.rbegin();m != listTwo.rend();++m) //从后向前显示list中数据
cout<<char(*m)<<" ";
cout <<endl;
return 0;
}
参考:http://m.blog.csdn.net/blog/szu030606/8565318