list::list模板类的主要函数介绍
assign() //给list赋值
back() //返回最后一个元素
begin() //返回指向第一个元素的迭代器
clear() //删除所有元素
empty() //如果list是空的则返回true
end() //返回末尾的迭代器
erase() //删除一个元素
front() //返回第一个元素
get_allocator() //返回list的配置器
insert() //插入一个元素到list中
max_size() //返回list能容纳的最大元素数量
merge() //合并两个list
pop_back() //删除最后一个元素
pop_front() //删除第一个元素
push_back() //在list的末尾添加一个元素
push_front() //在list的头部添加一个元素
rbegin() //返回指向第一个元素的逆向迭代器
remove_if() //按指定条件删除元素
remove() //从list删除元素
rend() //指向list末尾的逆向迭代器
resize() //改变list的大小
reverse() //把list的元素倒转
size() //返回list中的元素个数
sort() //给list排序
splice() //合并两个list
swap() //交换两个list
unique() //删除list中重复的元素
例子
#include <stdio.h>
#include <list>
using namespace std;
typedef struct _Tag
{
int a;
int b;
}Tag,*PTag;
int main(void)
{
list<Tag> List;
Tag p = { 0 };
List.push_back(p); //添加
p.a = 10;
List.push_back(p);
p.b = 20;
List.push_back(p);
list<Tag>::iterator i= List.begin();
while ( i != List.end())
{
printf("%d,%d\r\n", (*i).a, (*i).b);
if ((*i).b == 20)
{
List.erase(i++); //删除
}
else
i++;
}
printf("Size:%d\r\n",List.size()); //长度
system("pause");
}
执行结果