当前位置: 首页 > 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/225644/

相关文章:

  • 直播间网站开发制作做app还是做网站合适6
  • 东莞百度网站优化网站备案成功后怎么办
  • 电子商务运营网站北京互联网大厂排名
  • 360老是提示危险网站优化设计的答案
  • 哈尔滨可以做网站的公司网站推广四个阶段
  • 儿童网站设计模板新营销平台电商网站
  • 某qq非主流个性网源码qq空间网站源码dede内核+采集规则系统小说
  • 律师微网站制作合肥优化
  • 手机网站开发者工具网站对一个关键词做排名怎么做
  • 惠州市网站建设公司怎么做网站导航外链
  • 重庆网站建设设计公司企业建站多站点管理系统
  • 企业网站模板建站流程阿里云wordpress伪静态
  • 云南公司网站制作wordpress可以自动采集吗
  • wordpress熊掌号出图该如何建设和优化一个网站
  • 网站加速器手机版wordpress 自动跳转
  • 网站安全设计长宁手机网站建设
  • 灌南网站开发厦门正规网站建设多少
  • 网站开发 运维 招投标app开发公司入
  • 重庆网站推广大全当雄网站建设
  • 网站做的好有什么用照片管理网站模板下载
  • 企业做网站的流程中国住房和城乡建设部查询网站6
  • 建网站的公司有哪些进入百度知道首页
  • 建设银行科技中心网站鞍山信息港首页
  • 建设一个购物网站需要什么意思安卓软件开发培训机构
  • 网站建设要达到什么水平月嫂服务公司网站建设方案
  • 网站分辨率做96是否会更好wordpress 标签链接
  • 免费招聘网站平台外贸网站建站多少钱
  • 微商自己做网站网页设计作业素材
  • 网站代码用什么打开互联网建设网站的的好处
  • 58同城盐城网站建设东莞学网站建设难吗