学习自//http://www.cnblogs.com/scandy-yuan/archive/2013/01/08/2851324.html
#include<stdio.h> #include<iostream> #include<algorithm> #include<stack> #include<queue> #include<map> #include<vector> #include<list> using namespace std; int main() { int a1[5] = {1,2,3,4,5}; list<int> a(a1,a1+5),a2,a3; a2 = a;//赋值运算符 list<int>::iterator it; printf("链表a2的值全部输出:"); for(it = a2.begin ();it != a2.end ();it ++) { printf("%d ",*it); } puts(""); //元素拷贝 a3.assign (2,10); for(it = a3.begin ();it != a3.end ();it ++) { printf("%d ",*it); } puts(""); //第一个,最后一个,总个数,最大的数 printf("%d %d %d %d",a.front(),a.back (),a.size (),a.max_size ()); a.insert(a.begin (),5); // 在a.begin()插入5 a.insert(a.begin (),2,5); // 在a.begin()插入2个5 printf("插入数值后链表a的值全部输出:"); for(it = a.begin ();it != a.end ();it ++) { printf("%d ",*it); } puts(""); a.erase(a.begin ());//删除在a.begin ()的元素 printf("删除在a.begin ()的元素链表a的值全部输出:"); for(it = a.begin ();it != a.end ();it ++) { printf("%d ",*it); } puts(""); a.unique(); //删除相邻的元素 printf("删除相邻的元素链表a的值全部输出:"); for(it = a.begin ();it != a.end ();it ++) { printf("%d ",*it); } puts(""); a.sort ();//默认升序 自定义:c.sort(comp) printf("排序后链表a的值全部输出:"); for(it = a.begin ();it != a.end ();it ++) { printf("%d ",*it); } puts(""); a.clear();//清除 return 0; }