掌握栈的基本知识

  • 什么是栈呢?栈的概念

栈(stack):是一种线性 连续存储 的数据结构

  • 那栈又具有什么样的特点呢?
  1. 栈是一种先进后出后进先出的数据结构。

  1. 它又分成了栈顶栈底,在栈顶进行元素的插入和删除

  • 栈的基本操作又包括哪些呢?

栈的操作包括:入栈(push) 和 出栈(pop)

  1. 入栈时,我们需要注意:栈是否存在,栈是否为满

  1. 出栈时,我们需要注意:栈是否不存在,栈是否已空

  • 敲下代码,以便更好理解。代码如下:

顺序栈:

  1. 我们先定义栈的结构体

struct stack{
    int a[MAX];     //数据域
    int top;        //栈顶指针,其实就是数组的下标
};
  1. 定义一个全局栈

struct stack li;    //全局栈
  1. 入栈函数

int push(){
    //先判断是否栈满
    if(li.top == MAX-1){
        printf("栈满");
        return 0;
    }

    //栈不满的时候
    li.top++;   //栈顶+1
    //输入入栈的数据
    printf("请输入入栈数据:");
    scanf("%d",&li.a[li.top]);
}
  1. 出栈函数

int pop(){
    //先判断是否为空
    if(li.top==-1){
        printf("栈空");
        return 0;
    }
    
    //先取出元素
    printf("出栈元素:%d\n",li.a[li.top]);
    li.top--;    //栈顶-1
}

以上呢是关于我们顺序栈的代码!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值