/*
*
********************************************
* 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: tongjinooo@163.com
********************************************
*
*/
#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;
}