stl中lis的使用

来源:互联网 发布:maka软件下载(中文版) 编辑:程序博客网 时间:2024/06/05 15:44

在stl中,list是实现是采用双向链表来实现的,具体结构如下:

list的节点结构如下
template<class T>
strcut __list_node{
typedef void* void_pointer;
void_pointer prev;
void_pointer next;
T Data;
}

定义了上面那样的一个双向链表结构,然后在list类中有关于这个结构的插入删除等一系列方法,具体简单操作就如下面的源码一样:

#include <list>#include <iostream>#include <algorithm>using namespace std;int main(){int i;list<int> ilist;cout << "Size = " << ilist.size() << endl;ilist.push_back(0);ilist.push_back(1);ilist.push_back(3);ilist.push_back(3);ilist.push_back(4);cout << "Size = " << ilist.size() << endl;list<int>::iterator ite;for (ite = ilist.begin(); ite != ilist.end(); ++ite){cout << *ite << " ";}cout << endl;ite = find(ilist.begin(), ilist.end(), 3);if (ite != ilist.end())ilist.insert(ite, 99);cout << "Size = " << ilist.size() << endl;cout << *ite << endl;for (ite = ilist.begin(); ite != ilist.end(); ++ite){cout << *ite << endl;}cout << endl;ite = find(ilist.begin(), ilist.end(), 1);cout << *(ilist.erase(ite)) << endl;for (ite = ilist.begin(); ite != ilist.end(); ++ite){cout << *ite << endl;}getchar();getchar();return 0;}


以上操作完成了对list简单的增删操作

0 0
原创粉丝点击