首页 > 编程语言 >用c++以数组的形式实现栈的数据结构

用c++以数组的形式实现栈的数据结构

时间:2024-08-30 21:57:22浏览次数:15  
标签:cout int top c++ MaxSize 数组 push 数据结构 void

#include<iostream>

using namespace std;

//设置数组的最大值

#define  MaxSize 100

int A[MaxSize];

//栈顶

int top=-1;

//入栈

void push(int x){

    //处理溢出的情况

    if(top==MaxSize-1){

        cout<<"stack overflow"<<endl;

        return;

    }

    top++;

    A[top]=x;

}

//弹出

void pop(){

    if(top==-1){

        cout<<"no element to pop"<<endl;

        return;

    }

    top--;

}

//输出栈的内容

void output(){

    if(top!=-1){

        cout<<"the list is:";

        for(int i=0;i<=top;i++){

            cout<<A[i];

            cout<<" ";

        }

    }

}

int main(){

    push(10);

    push(2);

    push(5);

    output();

    pop();

    output();

}

标签:cout,int,top,c++,MaxSize,数组,push,数据结构,void
From: https://blog.csdn.net/dashuchengtian/article/details/141717534

相关文章

  • 【C++ Primer Plus习题】7.7
    问题:解答:#include<iostream>usingnamespacestd;#defineSIZE10double*fill_array(double*begin,double*end){ for(begin;begin<end;begin++) { cout<<"请输入值:"; cin>>*begin; if(cin.fail()) { co......
  • 【C++ Primer Plus习题】7.6
    问题:解答:#include<iostream>usingnamespacestd;#defineSIZE20intFill_array(double*arr,intlen){ inti=0; for(i=0;i<len;i++) { cout<<"请输入值:"; cin>>arr[i]; if(cin.fail()) { cout<&......
  • C++ 嵌套类简单测试
    classDog{public:classAnimal{public:Animal(Dog*dog){m_Dog=dog;m_Age=1;m_Name=dog->m_Info;//可以访问宿主类对象}stringm_Name;intgetAge(){......
  • 数据结构与算法 第四天(串、数组、广义表)
    串(String)任意字符组成的有限序列串的类型定义串的顺序存储结构模式匹配算法确定主串所含字串第一次出现的位置。BF算法穷举法,从每个字符开始依次匹配KMP算法链式存储数组基本操作特殊矩阵存储对称矩阵三角矩阵对角矩阵稀疏矩阵超过95%元素为零......
  • 数据结构-了解树和二叉树
    一、了解树1.树的基本概念树是一种非线性数据结构,主要用于表示层次关系。它由节点和连接这些节点的边组成。树的形状像一棵倒立的树,根部在上,树枝向下延伸。2.树的定义树可以定义为一个空树或由以下性质的节点组成的非空集合:空树:没有任何节点的树。非空树:包含一个根节点......
  • C语言深度复习【数组和指针】
    目录一.数组和指针1.1数组指针1.2指针数组1.3函数指针1.4const和指针1.5sizeof和指针和数组1.6strlen和字符数组一.数组和指针1.1数组指针一个数组指针实际上是指指向数组的指针。当你有一个数组类型作为函数参数时,它在函数内部被当作一个指针来处理。例......
  • C++小助手1.0.1
    注:只能在C++6.7.5运行小助手代码:#include<bits/stdc++.h>#include<windows.h>#include<conio.h>usingnamespacestd;//显示带有动画效果的文本voidccc(strings){ for(charc:s){ cout<<c; Sleep(50); } cout<<endl;}//加密字符串(简单的移......
  • 树状数组
    树状数组用于变化区间的动态维护进行\(O(logn)\)的插入和删除。\(lowbit(x)\)表示二进制表示中最低位的1代表的值称为最小位值,实际上就是二进制表示中最低位的1代表的值称为最小位值二进制表示中最低位的1加上后面的0的值。设树状数组\(c\),\(c_i\)表示${\textstyle\sum......
  • C++ 快速输入的优化与缓冲区管理(竞赛必用)
    在编程竞赛和性能敏感的场景中,数据输入的效率往往直接影响到程序的运行速度。为了优化输入操作,我们可以通过手动设定缓冲区的方式来提升输入的速度。本文将详细介绍两种不同的快速输入方案:手动设定缓冲区大小的方案与系统默认缓冲区大小的方案,并结合二进制位数与可表示数据范围......
  • 两个集合对都包含id,且id相同的数组进行过滤;返回需求集合
    ResponseEntity<Page<WmsInventoryHistoryVO>>ok=ResponseEntity.ok(service.selectList(newWmsInventoryHistory(),page));WmsInventoryHistorywmsInventoryHistory=newWmsInventoryHistory();wmsInventoryHistory.setWarehouseId(i......