全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  应聘面试  >  wlw物联网面试题

STL教程(六):C++ STL常用容器之stack

发布时间:2022-07-11 17:26:00
发布人:syq

  1、stack容器的基本概念

  stack是一种先进后出(First In Last Out,FILO)的数据结构,它只有一个出口,形式如图所示。stack容器允许新增元素,移除元素,取得栈顶元素,但是除了最顶端外,没有任何其他方法可以存取stack的其他元素。换言之,stack不允许有遍历行为。 有元素推入栈的操作称为:push,将元素推出stack的操作称为pop。

1

  2、stack容器特点

  Stack所有元素的进出都必须符合”先进后出”的条件,只有stack顶端的元素,才有机会被外界取用。 Stack不提供遍历功能,也不提供迭代器。

  3、stack常用API

  3.1stack构造函数

stack<T> stkT;//stack采用模板类实现, stack对象的默认构造形式:stack(const stack &stk);//拷贝构造函数

  3.2stack赋值操作

stack& operator=(const stack &stk);//重载等号操作符

  3.3stack数据存取操作

push(elem);//向栈顶添加元素 pop();//从栈顶移除第一个元素 top();//返回栈顶元素

  3.4stack大小操作

empty();//判断堆栈是否为空 size();//返回堆栈的大小

  案例:

#include <iostream>#include<stack>using namespace std;void test()

 {

     stack<int> s;

     s.push(10);

     s.push(20);

     s.push(30);

     s.push(40);

     s.push(50);

     if(s.empty())

     {

        cout<<"空栈"<<endl;

     }

     else

     {

         cout<<"栈的元素个数:"<<s.size()<<endl;

         while(!s.empty())//栈不为空 我就访问栈顶元素

         {

             cout<<s.top()<<" ";

             s.pop();//出栈 一个数据

         }

     }

 }int main(int argc, char *argv[]){

   test();

    return 0;}

2

 

  4、其他应用场景

  给定一个句子(只包含字母和空格), 将句子中的单词位置反转,单词用空格分割, 单词之间只有一个空格,前后没有空格。

  比如: (1) “good good study day day up”-> “up day day study good good ”

  案例:

#include<iostream>#include<stack>using namespace std;int main(){

    string ss;

    stack<string> sstack;

    while(cin>>ss){

        sstack.push(ss);

    }

    while(sstack.size()>1){

        cout<<sstack.top()<<" ";

        sstack.pop();

    }

    cout<<sstack.top()<<endl;

    return 0;}

  更多关于“物联网培训”的问题,欢迎咨询千锋教育在线名师。千锋教育多年办学,课程大纲紧跟企业需求,更科学更严谨,每年培养泛IT人才近2万人。不论你是零基础还是想提升,都可以找到适合的班型,千锋教育随时欢迎你来试听。

相关文章

物联网公司面试题:边缘计算是什么,与传统云计算的区别

2023-07-28

物联网公司面试题:保障物联网安全的措施有哪些?

2023-07-26

物联网公司面试题:如何确保设备之间的通信安全性和数据的保密性?

2023-07-24

物联网公司面试题:介绍CoAP协议的特点及其在物联网中的应用

2023-07-21

请列举几个物联网安全威胁,解释如何提高物联网系统的安全性

2023-07-18

物联网中的边缘计算是什么?请解释其优势和应用场景

2023-07-18
在线咨询 免费试学 教程领取