#include<stack> 主要用法

本文通过一个PAT1009题目的例子,介绍了如何利用C++中的stack容器进行字符串反序操作。主要步骤包括入栈、出栈、访问栈顶元素以及判断栈是否为空。程序通过读取整句输入,避免空格影响,然后逐句反序输出。

stack<string> s;//声明一个对象

1.入栈:如s.push(x);

2.出栈:如 s.pop().注意:出栈操作只是删除栈顶的元素,并不返回该元素。

3.访问栈顶:如s.top();

4.判断栈空:如s.empty().当栈空时返回true。

5.访问栈中的元素个数,如s.size();

下面我们以PAT1009 说反话来简单说明一下stack的用法

题目是要我们输入一个只包含英文和空格和英文的字符串,然后输出其反序

#include<iostream>
#include<string>
#include<stack>//头文件
using namespace std;
int main()
{
    string s;//定义一个字符串
    stack<string> ss;//定义储存字符串的栈
    while (cin >> s) {//当有内容输入时一直重复此操作
        ss.push(s);   //这一步很妙,可以实现一句话的输入,避免了因为空格导致输入结束
    }                  //输入ctrl+z结束输入
    cout << ss.top();
    ss.pop();
    while (!ss.empty()) {
        cout << ' ' << ss.top();
        ss.pop();
    }
    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值