C++STL模板库适配器之stack容器
适配器
一丶适配器简介
Stl中的适配器,有栈 (stack) 队列 queue 根priority_queue
适配器都是包装了 vector list deque等顺序容器. 也可以看做是由这些容器实现的一个新的容器.
适配器没有提供迭代器.也不能同事插入或者删除多个元素.
二丶栈(stack)用法
1.栈的常用方法
- push(x) 将元素入栈
- pop() 弹出栈顶元素.只是弹出.没有返回值
- top() 获取栈顶元素(不弹出)
- empty() 判断栈是否为空, 为空返回true 不为空返回0
- size() 返回栈中元素个数.
2.栈操作代码
使用适配器 stack 需要包含头文件
#include "stdafx.h"
#include <string>
#include <STACK>
#include <VECTOR>
#include <iostream>
using namespace std;
int main(int argc, char* argv[])
{
stack<int> s; //如果使用int 底层默认使用deque容器
s.push(1);
s.push(2);
s.push(3);
s.push(4);
s.push(5); //栈是先入后出的结构.所以栈中数据排列是 5 4 3 2 1
int nValue = s.top(); //获取栈顶元素
s.pop(); //弹出栈顶元素.此时就没有5了
cout << "栈顶元素为: " << nValue << endl;
int nSize = s.size();
cout << "当前栈大小为: " << nSize << endl;
//遍历栈
while (!s.empty())
{
cout << s.top() << " " ;
s.pop();
}
cout << endl;
return 0;
}
C++STL模板库适配器之stack容器的更多相关文章
- C++STL模板库适配器之queue队列
目录 适配器之队列 一丶队列简介 二丶队列(queue)代码操作 1.常用方法 适配器之队列 一丶队列简介 队列是先进先出的数据结构. 在STL中使用 queue表示. 底层使用的是序列容器deque ...
- C++STL模板库适配器之优先级队列
目录 适配器之优先级队列 一丶优先级队列简介(priority_queue) 二丶优先级队列代码演示 1.优先级队列代码以及使用简介 适配器之优先级队列 一丶优先级队列简介(priority_queu ...
- C++STL模板库序列容器之vector
目录 STL之Vecter 一丶STL简介 二丶Vector用法 1.vector容器的使用 2.vector迭代器. 3.vector中的方法. 三丶常用算法 1.常见算法中的算法方法. 2.sor ...
- 容器适配器之stack
参见http://www.cplusplus.com/reference/stack/stack/ template<class T, class Container = deque<T& ...
- C++ 泛型程序设计与STL模板库(1)---泛型程序设计简介及STL简介与结构
泛型程序设计的基本概念 编写不依赖于具体数据类型的程序 将算法从特定的数据结构中抽象出来,成为通用的 C++的模板为泛型程序设计奠定了关键的基础 术语:概念 用来界定具备一定功能的数据类型.例如: 将 ...
- STL学习系列四:Stack容器
Stack简介 stack是堆栈容器,是一种“先进后出”的容器. stack是简单地装饰deque容器而成为另外的一种容器. #include <stack> 1.stack对象的默认构造 ...
- C++STL模板库序列容器之List容器
目录 一丶List容器的存储结构 二丶丶STL中list容器的使用. 一丶List容器的存储结构 list容器底层是链表结构来维护的.跟vector不一样. vector是数组维护的.拥有连续内存.所 ...
- STL(标准模板库) 中栈(stack)的使用方法
STL 中栈的使用方法(stack) 基本操作: stack.push(x) 将x加入栈stack中,即入栈操作 stack.pop() 出栈操作(删除栈顶),只是出栈,没有返回值 stack.t ...
- iBinary C++STL模板库关联容器之map/multimap
目录 一丶关联容器map/multimap 容器 二丶代码例子 1.map的三种插入数据的方法 3.map集合的遍历 4.验证map集合数据是否插入成功 5.map数据的查找 6.Map集合删除元素以 ...
随机推荐
- 如何让pandas表格直接转换为markdown表格
https://stackoverflow.com/questions/33181846/programmatically-convert-pandas-dataframe-to-markdown-t ...
- 使用handler倒计时
package com.example.jikangwang.myapplication; import android.content.Intent; import android.os.Handl ...
- RSP小组——团队冲刺博客四
RSP小组--团队冲刺博客四 冲刺日期:2018年12月13日 前言 问题已经明确,经过今天的努力,部分已近得到解决,所以,今天是一个值得庆祝的日子. 各成员今日(12.13)完成的任务 李闻洲对音乐 ...
- Oracle事务与锁 知识点摘记
事务:事务用于保证数据的一致性,它由一组相关的dml语句组成,该组的dml语句要么全部成功要么全部失败. 说明:一组SQL,一个逻辑工作单位,执行整体修改或者整体回退. 事务的相关概念: 1.事务的提 ...
- wpa_cli 关联无线网络
fq关联无线网络,不同的无线网络认证方式不同设置: 1)open(开放式认证方式,分为): wpa_cli -iwlan0 set_network 0 ssid '"w ...
- Web开发者の实用代码账簿
介里就都是恶魔菌整理的我平时会用的代码啦-现在在这里总结规划一下,希望能对你以及其他阅读这篇文章的小可耐们有帮助喵!欢迎订阅我的博客来get恶魔菌记事簿的新动态鸭! ↓ ↓ ↓ 以下就是内容啦~记得看 ...
- 19南昌网络赛L
校赛打杂没施展开. 题意:一开始给你一颗 (0,0)到(0,l)的树. 这棵树每一年会长出来三个幼芽(雾),长度均为l/4,方向分别是左转60,右转60,和不变. 年份<=14 考虑3^14直接 ...
- Could not resolve placeholder 'IMAGE_SERVER_URL' in string value "${IMAGE_SERVER_URL}"
这种问题 在网上查的是说使用了重复的property-placeholder 可能是在别的xml 也用了property-placeholder 解决方法 加上 ignore-unresolva ...
- [Swift]LeetCode783. 二叉搜索树结点最小距离 | Minimum Distance Between BST Nodes
Given a Binary Search Tree (BST) with the root node root, return the minimum difference between the ...
- [Swift]LeetCode846. 一手顺子 | Hand of Straights
Alice has a hand of cards, given as an array of integers. Now she wants to rearrange the cards into ...