当前位置: 首页 > news >正文

模板下载免费网站网站备案怎么取消

模板下载免费网站,网站备案怎么取消,项目开发流程,广告网站建设制作设计服务商目录 ​编辑 STL-stack 150. 逆波兰表达式求值 stack queue std::stack deque 性能测试 结构 STL-stack 栈的压入、弹出序列_牛客题霸_牛客网输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假。题目…

 

目录

​编辑

STL-stack

150. 逆波兰表达式求值

stack

queue

std::stack

deque

性能测试

结构


STL-stack

栈的压入、弹出序列_牛客题霸_牛客网输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假。题目来自【牛客题霸】icon-default.png?t=O83Ahttps://www.nowcoder.com/practice/d77d11405cc7470d82554cb392585106?tpId=13&&tqId=11174&rp=1&ru=/activity/oj&qru=/ta/coding-interviews/question-ranking

bool IsPopOrder(vector<int>& pushV, vector<int>& popV) {// write code herestack<int> st;int pushi=0,popi=0;while(pushi<pushV.size()){st.push(pushV[pushi]);pushi++;while(!st.empty()&&st.top()==popV[popi]){st.pop();popi++;}}return st.empty();}

双层while循环

150. 逆波兰表达式求值

. - 力扣(LeetCode). - 备战技术面试?力扣提供海量技术面试资源,帮助你高效提升编程技能,轻松拿下世界 IT 名企 Dream Offer。icon-default.png?t=O83Ahttps://leetcode.cn/problems/evaluate-reverse-polish-notation/description/

 int evalRPN(vector<string>& tokens) {stack<int> st;for(auto str:tokens){if(str=="+"||str=="-"||str=="*"||str=="/"){int right=st.top();st.pop();int left=st.top();st.pop();switch(str[0]){case '+':st.push(left+right);break;case '-':st.push(left-right);break;case '*':st.push(left*right);break;case '/':st.push(left/right);break;}}else{st.push(stoi(str));}}return st.top();}

stack

template<class T,class Container>
class stack
{
public:void push(const T& x){_con.push_back(x);}void pop(){_con.pop_back();}size_t size(){return _con.size();}bool empty(){return _con.empty();}T& top(){return _con.back();}
private:Container _con;
};
stack<int, vector<int>> st;
st.push(1);
st.push(2);
st.push(3);
while (!st.empty())
{cout << st.top() << " ";st.pop();
}

queue

template<class T,class Container>
class queue
{
public:void push(const T& x){_con.push_back(x);}void pop(){_con.pop_front();}size_t size(){return _con.size();}bool empty(){return _con.empty();}T& front(){return _con.front();}T& back(){return _con.back();}
private:Container _con;
};

不能用vector,vector不支持头删(效率太低)。只能支持list

总结:

stl中的stack和queue是通过容器适配器转换出来的,不是原生实现的->提高代码的复用性。

class template

<stack>

std::stack

template <class T, class Container = deque<T> > class stack;

class Container = deque<T>双端队列。

deque

支持任意位置插入和随机访问。

性能测试

void test_deque()
{deque<int> d;vector<int> v;const int n = 10000;srand(time(0));for (size_t i = 0; i < n; ++i){int x = rand();d.push_back(x);v.push_back(x);}size_t begin1 = clock();sort(d.begin(), d.end());size_t end1 = clock();size_t begin2 = clock();sort(v.begin(), v.end());size_t end2 = clock();cout << end1 - begin1 << endl;cout << end2 - begin2 << endl;
}

结构

deque并不是真正连续的空间,而是由一段段连续的小空间拼接而成的,实际deque类似于一个动态的二维 数组,其底层结构如下图所示:

双端队列底层是一段假象的连续空间,实际是分段连续的,为了维护其“整体连续”以及随机访问的假象,落 在了deque的迭代器身上,因此deque的迭代器设计就比较复杂,如下图所示:

http://www.yayakq.cn/news/481150/

相关文章:

  • 商城网站怎么自己搭建万盛经开区规划建设局网站
  • 汽车网站建设方案电脑网站模版
  • 番禺网站建设公司网站建设和推广电话销售话术
  • 婚纱影楼网站上海网页制作模板
  • 站长工具黄西安房产网签查询官网
  • 天机seo一流的常州网站优化
  • 常州市建设工程网站修改wordpress 表格
  • 兰州网站建设招聘信息手机网站开发最好用的框架
  • 宜昌市夷陵区建设局网站余姚做网站62752762
  • 网站开发应财务如何记账技术支持 贵阳贵阳网站建设
  • 自动生成网站地图的工具小程序网站做多大尺寸
  • 网站配色 要用什么原则wordpress 文章概要
  • 物联网小程序开发网页优化哪家公司做得好
  • 网站运营维护措施有哪些动漫制作专业专升本
  • 网站数据抓取怎么做网站关键词密度太高怎么处理
  • 腐女喜欢做的网站wordpress文章分页标题
  • ppt下载模板免费网站做网站成功案例
  • 做蔬菜的网站有哪些企业建站套餐
  • flash网站需要改变制作自己的网站 域名怎么弄
  • 门户定制网站建设公司工商注册名称核准
  • 南山网站-建设深圳信科视频链接生成
  • 专业的营销型网站企业文化铜陵市建设工程管理局网站
  • 湘潭建设网站公司怎么查看网站是否做百度排名
  • 信息化建设 公司网站抖音搜索关键词推广
  • 宜兴网站开发it培训机构包就业
  • iis网站建设辽宁朝阳哪家做网站好
  • 做自适应网站对设计稿的要求wordpress网页游戏主题
  • 点评网站模板google建网站
  • 礼品册兑换 网站建设html格式的网站地图
  • 廊坊手机模板建站网络规划设计师的意义