C++ STL学习笔记五 slist单向链表容器

/*
 *
 ********************************************
 *   slist单向链表容器的基础说明:
 ********************************************
 *
 * slist是SGI C++STL自设的一个容器,要安装配置stlport才可以使用
 *
 * Front Insertion Sequence
 * slist为单向链表的泛化容器,故不再支持迭代器的反向移动
 *
 * 使用slist必须使用宏语句#include <slist>
 *
 **************************************************************************************
 *
 * 创建slist对象:
 * 1.slist<int> a;
 * 2.slist<int> a(10);         //具有10个元素的对象a,每个元素默认值为0
 * 3.slist<char> a(5,'k');
 * 4.slist<char> b(a);      
 * 5.slist(InputIterator first,InputIterator last); //slist<char> c(a.begin(),a.end())
 *
 **************************************************************************************
 *
 * 初始化赋值
 * void push_front(const T& value)
 *
 **************************************************************************************
 *
 * 遍历访问
 * 仅定义了向前移动的迭代器iterator和const_iterator
 * iterator begin();iterator end();
 *
 **************************************************************************************
 *
 * 常用函数
 *
 * void swap(slist&);
 * iterator insert_after(iterator pos,const T& x);  // 注意与前面不同的是,这里是在POS位置之后进行插入
 *              // vector、deque、list都是POS前插入
 * iterator insert(iterator pos,const T& X);   // 找到pos的前驱,再调用insert_after进行插入(pos前插入)
 *
 * void pop_front();
 *
 * iterator erase(iterator pos);
 * iterator erase(iterator first,iterator last);  // 注意是半闭区间[first,last)
 * void clear();
 * void remove(const T& x);       // 删除所有等于value的元素
 *
 * void splice(iterator pos,slist& x);
 * void splice(iterator pos,iterator i);
 *
 * void merge(slist& x);
 *
 * void sort();          // 按"<"关系进行排序
 * void unique();          // 删除重复元素,仅保留一个
 *
 *
 *
 ********************************************
 * Author: cumirror   
 * Email: [email protected]
 ********************************************
 *
 */

#include <slist>
#include <string>
#include <iostream>
using namespace std;

//具体使用请参照前面的容器例子,这里不进行举例说明
int main(){
 slist<string> a;
 a.push_front("武汉");
 a.push_front("长沙");
 for(slist<string>::iterator i=a.begin();i!=a.end();i++){
  cout<<*i<<endl;
 }
 return 0;
}

你可能感兴趣的:(C++,list,iterator,insert,email,merge)