第二节 c++ 数据结构stack 的用法详解
发布日期:2024-04-19 13:29:51
浏览次数:586
分类:技术文章
本文共 1349 字,大约阅读时间需要 4 分钟。
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
引言
本节我们一起来学习c++数据结构中的栈(stack),下面是我的学习笔记,供大家参考,如果觉得总结的不错的话,可以收藏起来方便今后复习。
本章概括
章节 | 内容 |
---|---|
1.1 | 容器 vector |
1.2 | 栈 stack |
1.3 | 队列 queue |
1.4 | 链表 list |
1.5 | set |
1.6 | map |
1.2.1 stack
1.介绍
- 栈是基本的数据结构之一,特点是“先进后出”。例如乘坐电梯时,先进电梯的最后出来;一盒泡腾片,最先放进盒子的药片位于最底层,最后被拿出来。
还可以定义多维数组: vector< int > a[MAXN];
2.常见操作
功能 | 例子 | 说明 |
---|---|---|
定义 | stack< int > q | 定义一个类型为int的q的栈 |
元素个数 | int size = q.size(); | 元素个数 |
是否为空 | bool isEmpty = q.empty(); | 判断是否为空 |
顶部插入 | q.push(i); | 在顶部插入i |
删除顶部 | a.pop(); | 删除顶部元素 |
顶部元素 | q.top(); | 顶部元素 |
4.代码讲解
#include#include using namespace std;int main(){ stack q; for(int i = 0;i < 7;i++) { q.push(i);//将0到6压进去 } cout< <
1.2.2例题
-
problem:
伊格那丢喜欢倒过来写。给定伊格那丢写的一行文字,你应该颠倒所有的单词,然后输出它们。 -
input
输入包含几个测试用例。输入的第一行是一个整数T,也就是测试用例的数量。下面是T个测试用例。 每个测试用例都包含一个包含几个单词的行。一行最多有1000个字符。3
olleh !dlrow m’I morf .udh I ekil .mca -
output
对于每个测试用例,您应该输出所处理的文本。hello world!
I’m from hdu. I like acm.
#includeusing namespace std;int main(){ int n; char ch; cin>>n; getchar(); while(n--) { stack a; while(1) { ch = getchar();//一次读一个字符 if(ch == ' '||ch == '\n'||ch == EOF) { while(!a.empty()) { putchar(a.top());//输出栈顶 a.pop();//清除栈顶 } if(ch == '\n'||ch == EOF)break; cout<<" "; } else a.push(ch);//入栈 } cout<
下一节我们将对栈queue进行详解,请大家持续关注
转载地址:https://blog.csdn.net/qqqqq7_/article/details/125773611 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
网站不错 人气很旺了 加油
[***.192.178.218]2024年04月29日 04时17分34秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
flask整理之 flask程序中的debug模式
2019-05-01
如何和大妈解释区块链,让他们理解区块链
2019-05-01
比特币,山寨币,到底谁占有主导地位
2019-05-01
比特币,父母这一辈能接受吗?
2019-05-01
解释区块链钱包的意思
2019-05-01
让老百姓知道什么是比特币,只需要10分钟
2019-05-01
为什么要反对比特币,这不代表是空气币
2019-05-01
5G技术如何运用在数字资产方面
2019-05-01
区块链技术运用最广泛的还是保险
2019-05-01
我们提出了DeFi项目如何成为聚合器,有两种路径
2019-05-01
SnapEx的新感觉,对新手很友好
2019-05-01
聚合器运用在什么地方最合适
2019-05-01
区块链可以解决供应链的问题,包括食品方面
2019-05-01
首个聚合器怎么产生的,并运用领域在什么
2019-05-01
区块链的优势和劣势的对比
2019-05-01
新技术,区块链能用在什么领域
2019-05-01
区块链技术应用,最先医疗行业
2019-05-01
新币上市旧币会降价吗
2019-05-01
为什么币圈的基础设施越来越多
2019-05-01