注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

zxj015

 
 
 

日志

 
 

栈 队列 优先队列 STL  

2011-03-27 21:03:51|  分类: 学习笔记 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
#include<stack>  //头文件
stack<char> st;  //定义
st.push(str1[0]);  //入栈
cur=st.top ();    //取栈顶值
st.pop();      //出栈
st.empty ()//空为true


队列
#include<queue>
queue<char>que;
que.push(a);
a=que.front();
que.pop();
que.empty ()

优先队列
bool operator < (const coor &a, const coor &b)
{
    return a.time > b.time; //从小到大排序,修改为最小堆,取最小值。
}
priority_queue<coor>que;
que.push(a);
a=que.top();//  默认为最大堆,取最大值。
que.pop();
que.empty ()

以下对vector、list、deque容器通用,这里以list容器为例,注意访问元素时vector、deque可用下标直接访问,但对list不行
list<line> dlist;
vector<int> c;
line in;
list<line>::iterator iter;//定义一个指向元素的迭代器
插入:
dlist.insert(iter,t)//在iter所指元素之前插入值为t的元素
dlist.insert(iter,n,t)//在iter所指元素之前插入n个值为t的元素
dlist.push_back(in);//在尾端插入
dlist.push_front(in);//在头端插入
访问:
dlist.back();//最后一个元素
dlist.front();//第一个元素
for(iter=dlist.begin();iter!=dlist.end();iter++)//访问元素
{
}
c[iter] //list不提供该操作

删除:
iter=dlist.erase(iter);//删除元素 返回指向删除元素的下一个元素
iter=dlist.erase(iter1,iter2);//删除iter1,iter2之间的所有元素,返回指向删除段的下一个元素
c.pop_back();//删除最后一个元素
c.pop_front();//删除第一个元素
dlist.clear();//清空容器
  评论这张
 
阅读(100)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018