begin() //返回第一个元素的指针(iterator)
clear() //删除所有元素
empty() //判断是否链表为空
end() //返回最后一个元素的下一位置的指针(list为空时end()=begin())
erase() //删除一个元素或一个区域的元素(两个重载)
front() //返回第一个元素的引用
sort() //对链表排序,默认升序(可自定义)
c1.sort(); //c1(10,20,30)
c1.sort(great<int>()); //c1(30,20,10)
pop_back() //删除链表尾的一个元素
pop_front() //删除链表头的一元素
push_back() //增加一元素到链表尾
push_front() //增加一元素到链表头
merge() //合并两个链表并使之默认升序(也可改)
c2.merge(c1); //c1现为空;c2现为c2(10,20,30,40,50,60)
c2.merge(c1,greater<int>()); //同上,但c2现为降序
reverse() //反转链表
#include<iostream>
#include<stdio.h>
#include<list>
using namespace std;
int main()
{
list <char > v;
char a,b,c;
int t;
scanf("%d",&t);
while(t--)
{
getchar();
scanf("%c%c%c",&a,&b,&c);
v.push_back(a);
v.push_back(b);
v.push_back(c);
v.sort();
for(list <char >::iterator i = v.begin();i!=v.end();i++)
printf("%c ",*i);
printf("\n");
v.clear();
}
}