Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > C/C++ > 标准模板库STL之一 序列
【标  题】:标准模板库STL之一 序列
【关键字】:STL
【来  源】:http://blog.csdn.net/tc_mcgrady/archive/2006/09/19/1246615.aspx

标准模板库STL之一 序列

Your Ad Here

标准模板库STL之一    序列

*******************容器**********************
1、向量类模板
头文件:<vector>

一、定义
std::vector<type> name;
std::vector<type> name(size);          //初始化大小
std::vector<type> name(size,value);    //初始化大小并赋值
std::vector<type> name(myvector);      //以现有向量初始化

二、添加元素
(1)push_back(val);      //在尾部添加
(2)insert(pos,val);     //在任意位置添加

三、删除元素
(1)pop_back()           //从尾部删除
(2)erase(pos)           //从任意位置删除

四、比较向量
向量间可直接比较用:==  <   >  等比较符号。

五、其他常用方法
(1)at(n)                //返回位置n的元素
(2)begin(),end();       //第一个元素,和最后一个元素的下一个.
(3)clear()
(4)empty()
(5)reverse()            //反转
(6)size()
(7)swap(vector)         //交换

2、双端队列类模板
头文件:<deque>

一、定义
std::deque<type> name;
std::deque<type> name(size)
std::deque<type> name(size,value)
std::deque<type> name(mydeque)
std::deque<type> name(first,last)

二、添加元素
(1)push_back(val)
(2)push_front(val)
(3)insert()

三、删除元素
(1)pop_front()
(2)pop_back()
(3)erase()

四、比较
双端队列也可用比较符号直接比较。

五、其他方法也基本和向量类相同。

3、链表类模板
头文件<list>

一、定义
std::list<type> name;
std::list<type> name(size)
std::list<type> name(size,value)
std::list<type> name(mylist)
std::list<type> name(first,last)

二、添加元素
(1)push_back(val)
(2)push_front(val)
(3)insert()

三、删除元素
(1)pop_front()
(2)pop_back()
(3)erase()

四、比较
列表也可用比较符号直接比较。

五、区别于双端队列的方法
(1)remove(val)     //删除所有值为的元素
(2)sort()
(3)sort(pred)      //根据谓词排序
(4)unique()        //删除重复的元素

*******************容器适配器**********************
1、stack
头文件<stack>

一、定义
std::stack<type, container> name;
container 可为 vector,deque 或 list
eg.std::stack<int, std::list<int> > intStack;

二、方法
empty(), size(), top(), push(), pop()

2.queue
头文件<queue>

一、定义
std::queue<type, container> name;
container 可为 deque 或 list
eg. std::queue<int,std::list<int> > intQueue;

二、方法
empty(), size(), front(), back(),  push(), pop()

3.priority_queue
头文件<queue>

一、定义
std::priority_queue<type, container, predicate> name;
container 可为 vector 或 deque
predicate默认为less<type>,可自定义。
eg.std::priority_queue<int, std::vector<int> > intPqueue;

二、方法
empty(), size(), top(), push(), pop() 

acm pku 2091:【上一篇】
RGB (255,0,0)或0x00FF0000:【下一篇】
【相关文章】
  • Ineffective C++(1):STL容器不仅仅可以保存指针
  • STL之xhash
  • STL, Loki,Boost 中Functor比较之Boost库(一)
  • STL:map的使用:删除map中指定值为value的所有元素
  • STLport 4.6.2安装
  • vc++6.0STL中std::string类导致程序崩溃的解决方案
  • 不能存进STL Vector里的类――STL Vector应用上的小Bug及其修正方法
  • 在Castle ActiveRecord中使用NHibernate
  • SGI STL V3.2 源码剖析笔记-1. 空间配置器
  • C++ STL里的 list模版(简化版)算法和实现
  • 【随机文章】
  • 目录管理函数
  • .NET重要技术思考
  • proc
  • How to reset windows local user passwd, without knowing its current passwd
  • Java7要支持closure了?
  • 完美的方案
  • 张燕四处张望,我低头抽烟。有风吹过来
  • NstarfaiNet框架日志
  • 我的LINUX命令复习笔记(一)
  • 震惊 任意修改大网站在Alexa说明教程
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.