stack中常见方法

  1. top():返回一个栈顶元素的引用,类型为 T&。如果栈为空,返回值未定义。
  2. push(const T& obj):可以将对象副本压入栈顶。这是通过调用底层容器的 push_back() 函数完成的。
  3. push(T&& obj):以移动对象的方式将对象压入栈顶。这是通过调用底层容器的有右值引用参数的 push_back() 函数完成的。
  4. pop():弹出栈顶元素,直接删除栈顶元素,并没有返回该值哦。
  5. size():返回栈中元素的个数。
  6. empty():在栈中没有元素的情况下返回 true。
  7. emplace():用传入的参数调用构造函数,在栈顶生成对象。
  8. swap(stack & other_stack):将当前栈中的元素和参数中的元素交换。参数所包含元素的类型必须和当前栈的相同。对于 stack 对象有一个特例化的全局函数 swap() 可以使用。

stack简单用法示例

int main(){
//定义一个空栈a
stack<int> a; for(int i = 1; i <= 3; i++)
a.push(i); cout << "size of a is " << a.size()<< endl;
cout << "element of a is: " ; for(; a.size() > 0;){
// cout << a.pop() << " "; pop直接删除元素并没有返回,所以这种用法是错误的 cout << a.top() << " ";
a.pop();
} cout <<endl;
cout << "after pop all element in a,the size = " << a.size()<< endl;
cout << endl;
return 0;
}

输出结果如下:

最新文章

  1. C# 将对象保存为文件 读取文件并转为对象 压缩文件 解压缩文件
  2. sql优化方法
  3. N-Gram
  4. AlwaysOn数据同步问题探究
  5. 微信JS-SDK DEMO页面和示例代码
  6. struts2.3.16所需的基本的jar包
  7. 关于LED 流水灯的软件调试方法(非开发板调试)
  8. phpcms 在后台增加了一个模型的话,在数据库中就会相应的增加数据库表
  9. 5个经典的JavaScript面试基础问题
  10. mac中的xampp配置xdebug
  11. 哈弗曼实现(C++)
  12. JAVA学习课第五十三届 — IO流程(七)File打靶 &amp;amp; Properties设置
  13. Spark Core_资源调度与任务调度详述
  14. Go语言学习1
  15. mysql com.mysql.cj.jdbc.Driver 配置
  16. BSGS及扩展BSGS总结(BSGS,map)
  17. Neko&#39;s loop HDU-6444(网络赛1007)
  18. 查看进程在CPU和内存占用的命令
  19. python 全栈开发,Day117(popup,Model类的继承,crm业务开发)
  20. Java实验-课程设计报告一:个人银行账户管理系统SavingAccountManageSystem-具体文档+源码

热门文章

  1. SQL Server的外键必须引用的是主键或者唯一键(转载)
  2. java基础 抽象
  3. mybatis日志,打印sql语句,输出sql
  4. element-UI级联选择器(Cascader)获取label值 ,this.$refs[&#39;新组件名&#39;].currentLabels 在2.7版本给移除了,新的解决方法。
  5. Java 之 数学相关类 Math、BigInteger、BigDecimal
  6. 排序算法的c++实现——冒泡排序
  7. MVC4 Model View Controller分离成独立项目
  8. 详解Linux操作系统的iptables原理及配置
  9. Nginx配置文件、优化详解
  10. git命令中的--是什么意思?