首页 > 其他分享 >栈的基本操作

栈的基本操作

时间:2022-09-27 12:14:31浏览次数:67  
标签:return int top MaxSize 基本操作 data stack

栈的顺序存储结构


顺序栈的实现


#include "iostream"

#define MaxSize 50

//栈的结构体
struct Stack{
    int data[MaxSize];
    int top;
}stack;

//初始化栈
void init(){
    stack.top = -1;
}

//判断是否栈空
bool isEmpty(){
    if (stack.top == -1){
        printf("栈空\n");
        return true;
    }
    return false;
};

//判断是否栈满
bool isFull(){
    if (stack.top == MaxSize - 1){
        printf("栈满\n");
        return true;
    }
    return false;
};

//入栈
int push(int num){
    if (!isFull()){
        stack.top = stack.top + 1;
        stack.data[stack.top] = num;
    }
    return -1;  //当栈满的时候返回-1
}

//出栈
int pop(){
    if (!isEmpty()){
        stack.top = stack.top - 1;
        return stack.data[stack.top + 1];
    }
    return -1;  //当栈空的时候返回-1
}

int main(){
    init();
    
    //入栈
    for (int i = 1; i <=5; i++){
        push(i);
    }
    
    //出栈,调用一次出栈一次
    pop();

    printf("%d\n", pop());

}

共享栈


标签:return,int,top,MaxSize,基本操作,data,stack
From: https://www.cnblogs.com/miyol/p/16734094.html

相关文章

  • SQL server 基本操作
     1、添加字段altertable表名add字段名typenotnulldefault02、修改字段名altertable表名 rename columnAtoB3、修改字段类型altertable表名modif......
  • MongoDB基本操作
     //返回指定字段:1表示返回,0表示不返回//默认返回_id,如果不想返回,加上_id:0//db.表名.find({条件},{返回字段:1})db.navigation_clicks.find({   "type":1},{......
  • redis的字符串String类型基本操作
    1、首先连上你的redis以下一些命令很简单,或者执行命令后效果也无法体现的就没有进行截图展示2、String相关操作-------------------设置值-------------------设置指......
  • MySQL数据表的创建、修改、删除及基本操作
    1.在mysql中,可以使用 CREATETABLE 语句创建表。其语法格式为:转自:https://www.cnblogs.com/bigbigbigo/p/10917429.html/*建表的语法*/createtable[ifnotexist]......
  • MySQL数据库的创建、修改、删除及基本操作
    1.MySQL数据库的创建,语法格式如下:CREATEDATABASE[IFNOTEXISTS]<数据库名>[[DEFAULT]CHARACTERSET<字符集名>][[DEFAULT]COLLATE<校对规则名>];[]中的内......
  • Redis 基本操作
    字符串(Strings)、哈希(hashes)、列表(lists)、集合(sets)、有序集合(sortedsets)......
  • redis基本操作
    一、五大数据类型1、Stringsetkeyvalue:设置值getkey:获取值delkey:删除keystrlenkey:获取该key值对应的value值的长度appendkey"xxx":在该key对应的value值追......
  • 基本操作学习
    文档演示——2022/9/2221:21:27一、基本操作语法1.1基本格式<1>设置标题前后均留有空格<2>加粗:加粗示例1(较推荐)加粗示例2<3>斜体:斜体示例1(较推荐)斜体示例......
  • Python cv2(Opencv) 图像基本操作
    OpenCV是一个基于Apache2.0许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和MacOS操作系统上。它轻量级而且高效,由一系列C函数和少......
  • 数据库基本操作
    创建数据库: creatdatabasedbxdefaultcharsetUTF8;创建表:creattable表名(列名1,列名2.。。)插入数据:insertinto表名(列名1,列名2)values(数据1,数据2)清空数据:de......