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

成都集团网站设计推荐win7优化软件

成都集团网站设计推荐,win7优化软件,wordpress dux5,做网站的文章目录 1.stack的介绍2.stack的使用2.1stack构造函数2.1stack成员函数(1)empty() 检测stack是否为空(2)size() 返回stack中元素的个数(3)top() 返回栈顶元素的引用(4)push() 将元素…

文章目录

  • 1.stack的介绍
  • 2.stack的使用
    • 2.1stack构造函数
    • 2.1stack成员函数
      • (1)empty() 检测stack是否为空
      • (2)size() 返回stack中元素的个数
      • (3)top() 返回栈顶元素的引用
      • (4)push() 将元素val压入stack中
      • (5)pop() 将stack中尾部的元素弹出

1.stack的介绍

stack的介绍

在这里插入图片描述

  1.stack是一种容器适配器,专门用在具有后进先出操作的上下文环境中,其删除只能从容器的一端进行元素的插入与提取操作。

  2. stack是作为容器适配器被实现的,容器适配器即是对特定类封装作为其底层的容器,并提供一组特定的成员函数来访问其元素,将特定类作为其底层的,元素特定容器的尾部(即栈顶)被压入和弹出。

  3. stack的底层容器可以是任何标准的容器类模板或者一些其他特定的容器类,这些容器类应该支持以下操作:
  empty:判空操作
  back:获取尾部元素操作
  push_back:尾部插入元素操作
  pop_back:尾部删除元素操作

  4. 标准容器vector、deque、list均符合这些需求,默认情况下,如果没有为stack指定特定的底层容器,默认情况下使用deque。

在这里插入图片描述

2.stack的使用

在这里插入图片描述

2.1stack构造函数

在这里插入图片描述
在这里插入图片描述
  stack类是一个容器适配器,它是基于其他容器类型(默认情况下是deque)实现的。stack类提供了一种后进先出(LIFO)的数据结构,类似于真实生活中的堆栈。

#include <iostream>
#include <stack>
#include <vector>int main() {// 示例1:使用默认构造函数创建一个空的stack对象。std::stack<int> myStack;// 示例2:使用拷贝构造函数创建一个与现有stack对象相同的新对象。std::stack<int> otherStack;otherStack.push(1);otherStack.push(2);std::stack<int> newStack(otherStack);// 示例3:使用构造函数模板创建一个基于vector的stack对象。std::stack<int, std::vector<int>> intStack;intStack.push(10);intStack.push(20);// 输出示例2中新创建的stack对象的元素std::cout << "示例2中新创建的stack对象的元素:";while (!newStack.empty()) {std::cout << newStack.top() << " ";newStack.pop();}std::cout << std::endl;// 输出示例3中基于vector的stack对象的元素std::cout << "示例3中基于vector的stack对象的元素:";while (!intStack.empty()) {std::cout << intStack.top() << " ";intStack.pop();}std::cout << std::endl;return 0;
}//示例2中新创建的stack对象的元素:2 1 
//示例3中基于vector的stack对象的元素:20 10 

2.1stack成员函数

(1)empty() 检测stack是否为空

  empty()是stack类的一个成员函数,用于检查当前的stack是否为空。当stack中没有任何元素时,empty()函数返回true;当stack中至少有一个元素时,empty()函数返回false。

  empty()函数的使用非常简单,只需在一个stack对象上调用该函数即可。以下是empty()函数的用法示例:

#include <iostream>
#include <stack>int main() {std::stack<int> myStack;// 检查stack是否为空if (myStack.empty()) {std::cout << "Stack is empty" << std::endl;} else {std::cout << "Stack is not empty" << std::endl;}// 将元素压入stackmyStack.push(10);myStack.push(20);// 再次检查stack是否为空if (myStack.empty()) {std::cout << "Stack is empty" << std::endl;} else {std::cout << "Stack is not empty" << std::endl;}return 0;
}//Stack is empty
//Stack is not empty

(2)size() 返回stack中元素的个数

  size()是stack类的一个成员函数,用于获取当前stack中的元素数量。size()函数返回一个整数,表示stack中的元素数目。

  size()函数的使用非常简单,只需在一个stack对象上调用该函数即可。以下是size()函数的用法示例:

#include <iostream>
#include <stack>int main() {std::stack<int> myStack;// 添加元素到stackmyStack.push(10);myStack.push(20);myStack.push(30);// 获取stack中的元素数量int stackSize = myStack.size();std::cout << "Stack size: " << stackSize << std::endl;// 弹出一个元素myStack.pop();// 再次获取stack中的元素数量stackSize = myStack.size();std::cout << "Stack size after pop: " << stackSize << std::endl;return 0;
}//Stack size: 3
//Stack size after pop: 2

(3)top() 返回栈顶元素的引用

  top()是stack类的一个成员函数,用于获取stack顶部(即最后压入的)的元素的值,而不会将该元素从stack中移除。

  top()函数的使用非常简单,只需在一个stack对象上调用该函数即可。以下是top()函数的用法示例:

#include <iostream>
#include <stack>int main() {std::stack<int> myStack;// 添加元素到stackmyStack.push(10);myStack.push(20);myStack.push(30);// 获取stack顶部的元素值int topElement = myStack.top();std::cout << "Top element: " << topElement << std::endl;return 0;
}//Top element: 30

(4)push() 将元素val压入stack中

  push()是stack类的一个成员函数,用于将一个元素压入(即添加)到stack的顶部。

  push()函数的使用非常简单,只需在一个stack对象上调用该函数并传递要压入的元素作为参数即可。以下是push()函数的用法示例:

#include <iostream>
#include <stack>int main() {std::stack<int> myStack;// 将元素压入stackmyStack.push(10);myStack.push(20);myStack.push(30);// 获取stack顶部的元素值int topElement = myStack.top();std::cout << "Top element: " << topElement << std::endl;return 0;
}//Top element: 30

(5)pop() 将stack中尾部的元素弹出

  pop()是stack类的一个成员函数,用于移除stack顶部(即最后压入的)的元素,但并不返回该元素的值。

  pop()函数的使用非常简单,只需在一个stack对象上调用该函数即可。以下是pop()函数的用法示例:

#include <iostream>
#include <stack>int main() {std::stack<int> myStack;// 添加元素到stackmyStack.push(10);myStack.push(20);myStack.push(30);// 移除stack顶部的元素myStack.pop();// 获取新的stack顶部的元素值int topElement = myStack.top();std::cout << "Top element after pop: " << topElement << std::endl;return 0;
}//Top element after pop: 20
http://www.tj-hxxt.cn/news/46598.html

相关文章:

  • 网站建设 营销软件推广
  • 新浪如何上传wordpress无锡整站百度快照优化
  • 汕头网站建设维护合肥网络科技有限公司
  • 外贸商城 网站建设每天新闻早知道
  • 可以做头像的网站有哪些排行榜前十名
  • 苹果手机怎么做微电影网站成都建设网官网
  • 我的世界做皮肤网站百度商业账号登录
  • 网站开发付款绍兴seo排名收费
  • 找苏州网站建设成都疫情最新消息
  • 哈尔滨模板建站哪个品牌好怎么做一个网站出来
  • 网站建设代理渠道app平台搭建需要多少钱
  • 天津网站开发培训学校品牌广告文案
  • 邢台网络运营中心电话树枝seo
  • 免费制作网站的步骤 怎样做网站搜索关键词排名优化
  • 安阳营销型网站建设网络营销和传统营销的关系
  • 湖南营销型网站建设报价百度推广运营
  • 北京网站建设哪家靠谱百度小程序优化
  • 中石化第五建设有限公司官方网站全媒体广告代理加盟
  • 网站建设有哪些软件什么是seo优化推广
  • 怎么建设一个购买卡密的网站seo搜索引擎优化价格
  • 兰州做公司网站建网络平台要多少费用
  • 网站上传照片 传不上去班级优化大师的功能有哪些
  • 商务网站页面做关键词排名好的公司
  • 腾讯 云上做网站教程seo是什么服务器
  • 网站模板用什么软件做西安优化seo托管
  • 做动态网站 需要哪些知识软文什么意思范例
  • 注册网站后怎么建设成都seo经理
  • 国外怎么做直播网站抖音信息流广告怎么投放
  • 北京网站建设优化学校东莞seo外包公司
  • 美食类网站开发需求分析软文新闻发稿平台