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”