STL list 向程序员提供了一个双向链表。需使用头文件<list>。
知识点如下:
实例化
基本操作 插入元素 insert()
删除元素 erase()
反转元素reverse()
没有参数
排序sort()
接受一个二元谓词作为参数
基本操作
实例化
list<int> listInt;
插入元素
1.
开头:listInt.push_front(10);
2.
末尾:listInt.push_back(87);
3.
中间
1)
listInt.insert(listInt.begin(),
3); /listInt.insert(listInt.end(), 3);
2)
listInt.insert(listInt.begin(),
5, 9);
3)
listInt.insert(listInt.begin(),
listInt1.begin(), listInt1.end() );
用Iterator输出list
std::list<int> :: iterator
iElementLocator;
for(iElementLocator=listInt.begin(),iElementLocator!=listInt.end(),
iElementLocator++)
std::cout<<*iElementLocator<<std::endl;
删除元素
1.
list<int> :: iterator
iElement;
iElement=listInt.insert(listInt.begin(),
2);
listInt.push_front(12);
listInt.erase(listInt.bigin(),
iElement); // *iElement is not
deleted.
2.
listInt.erase(iElement);
反转元素
listInt.reverse();
排序函数
1.
按默认的升序排列
listInt.sort();
2.
bool sort_descend(const
int& lsh,int& rsh)
{
return(rsh<lsh);
}
*References
1.
Jesse Liberty,”Sams
Teaches Youself C++ One Hour a Day”