栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

第二节 c++ 数据结构stack 的用法详解

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

第二节 c++ 数据结构stack 的用法详解

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录
  • 引言
  • 本章概括
  • 1.2.1 stack
    • 1.介绍
    • 2.常见操作
    • 4.代码讲解
  • 1.2.2例题


引言

本节我们一起来学习c++数据结构中的栈(stack),下面是我的学习笔记,供大家参考,如果觉得总结的不错的话,可以收藏起来方便今后复习。

本章概括
章节内容
1.1容器 vector
1.2栈 stack
1.3队列 queue
1.4链表 list
1.5set
1.6map
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(){
	stackq;
	
	for(int i = 0;i < 7;i++)
	{
		q.push(i);//将0到6压进去
	}
	cout<
		q.pop();//将栈顶弹出
	}
	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.

#include
using namespace std;
int main(){
	int n;
	char ch;
	cin>>n;
	getchar();
	while(n--)
	{
		stacka;
		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进行详解,请大家持续关注

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1011115.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号