STL 链表(list)的使用
来源:互联网 发布:网络兼职骗局信誉代刷 编辑:程序博客网 时间:2024/05/01 16:00
简介
链表(list)是STL所提供的一种序列化容器,可实现双向遍历,但是无法提供随机访问。链表的一个优点是无论在任何位置添加、删除元素所需的时间均为常量。
代码示例
/*************************//* ListTest.cpp *//*************************/#include <iostream>#include <list>typedef std::list<int> IntList;// 打印.static void PrintIntList(IntList& intList, const char * szName);int main(int argc, char *argv[]){int i;// 几种不同构造方式.IntList list_1;IntList list_2(8, 2);IntList list_3(list_2);IntList list_4(list_3.begin(), list_3.end());// 打印.PrintIntList(list_1, "list_1");PrintIntList(list_2, "list_2");PrintIntList(list_3, "list_3");PrintIntList(list_4, "list_4");std::cout<<std::endl<<"初始化链表..."<<std::endl;for(i=5; i>=0; --i){list_1.push_front(i);}for(i=6; i<10; ++i){list_1.push_back(i);}PrintIntList(list_1, "list_1");std::cout<<std::endl<<"反转链表..."<<std::endl;list_1.reverse();PrintIntList(list_1, "list_1");std::cout<<std::endl<<"加入重复元素到链表中..."<<std::endl;list_1.push_back(5);PrintIntList(list_1, "list_1");std::cout<<std::endl<<"对链表排序..."<<std::endl;list_1.sort();PrintIntList(list_1, "list_1");std::cout<<std::endl<<"对链表去重..."<<std::endl;list_1.unique();PrintIntList(list_1, "list_1");std::cout<<std::endl<<"删除链表末位元素..."<<std::endl;list_1.pop_back();PrintIntList(list_1, "list_1");std::cout<<std::endl<<"删除链表首位元素..."<<std::endl;list_1.pop_front();PrintIntList(list_1, "list_1");i = 9527;std::cout<<std::endl<<"删除链表中值为"<<i<<"的元素..."<<std::endl;list_1.remove(i);PrintIntList(list_1, "list_1");i = 6;std::cout<<std::endl<<"删除链表中值为"<<i<<"的元素..."<<std::endl;list_1.remove(i);PrintIntList(list_1, "list_1");i = 4;std::cout<<std::endl<<"重定义链表长度为"<<i<<"..."<<std::endl;list_1.resize(i);PrintIntList(list_1, "list_1");std::cout<<std::endl<<"粘接链表..."<<std::endl;list_1.splice(list_1.end(), list_2, list_2.begin(), list_2.end());PrintIntList(list_1, "list_1");std::cout<<std::endl<<"清空链表..."<<std::endl;list_1.clear();PrintIntList(list_1, "list_1");std::cout<<"链表是否为空:"<<list_1.empty()<<std::endl;return 0;}void PrintIntList(IntList& intList, const char * szName){std::cout<<"["<<szName<<"]: ";std::copy(intList.begin(), intList.end(),std::ostream_iterator<int>(std::cout, " "));std::cout<<std::endl;}
运行结果:
==============================End=================================
0 0
- STL 链表(list)的使用
- STL list的使用
- stl list的使用
- [STL] list的使用
- STL中list的使用
- STL中list的使用
- STL中list的使用:
- STL中list的使用
- STL中list的使用
- STL list容器的使用
- STL中list的使用
- STL中list的使用
- STL中list的使用
- STL List 的基本使用
- STL List容器的使用
- STL中list的使用:
- STL中list的使用
- stl vector list的使用
- Log4Net使用指南
- 在SQL PLUS中打印存储过程的结果
- 如何使用web.xml配置参数,并在serlvet取得该值
- c语言结构体自引用指针
- SWIFT的代码教程-json类(VKJson)
- STL 链表(list)的使用
- Excel类似word多进程运行,不同窗口
- 让lebel和radio/checkbox水平对齐
- android Fragments详解三:实现Fragment的界面
- linux常见命令的列表
- 定位Oops错误代码行
- 通过注册表删除windows服务
- Struts2返回JSON对象的方法总结
- debian网卡设置