【C++】stack容器的用法解析

#define _CRT_SECURE_NO_WARNINGS 1
#include <iostream>
#include <stack>
using namespace std;

//Stack栈容器:容器适配器,遵循先进后出(FILO)数据结构
//empty:判断堆栈元素是否为空,true表示栈元素为空;
//pop:移除栈顶元素;
//push:栈顶添加元素;
//top:返回栈顶元素;
//size:返回栈中元素数目;

void test01()
{
	stack<string> ss;
	string s;
	while (cin >> s) { ss.push(s); }
	//测试输入流是否正常,如果输入正常,就会继续循环获取键盘上的值
	//测试的输入流如果不正常,或者达到文件末尾、字符串末尾(在windows下Ctrl+Z,在Linux下Ctrl+D),该循环就会终止
	//循环向站内压进多个string类的字符串, 每隔string类的字符串为一个元素

	while (!ss.empty())
	{
		cout << ss.top(); //输出栈顶元素
		ss.pop(); //弹出栈顶元素

		if (!ss.empty()) cout << ' '; 
		//真, 因为栈内的每个元素都连在一起,弹出一个元素后,输出一个空格
	}
	cout << endl;

}


int main()
{
	//题目是要我们输入一个只包含英文和空格和英文的字符串,然后输出其反序
	//实例:
	//输入:I am a boy
	//输出:boy a am I

	test01();


	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值