首页 > 其他 > 详细

第二章-线性结构-栈

时间:2019-11-15 17:21:55      阅读:87      评论:0      收藏:0      [点我收藏+]

哔哩哔哩数据结构讲解地址:https://space.bilibili.com/356198029

本代码视频讲解地址:https://www.bilibili.com/video/av63178182

#include<stdio.h>
#define MAX  100
int Stack[MAX];
void Init(int *top)
{
    *top = -1;
}
int isEmpty(int top)
{
    return top == -1;//top等于-1时为空 返回true
}
int isFull(int top)
{
    return top == MAX-1;
}
int pop(int stack[],int* top)//注意更改top的值需要传指针
{
    if(isEmpty(*top))
        return -1;
    else
        return stack[(*top)--];
}
int push(int stack[], int data, int* top)//注意更改top的值需要传指针
{
    if(isFull(*top))
        return -1;
    else
        return stack[++(*top)] = data;
}
int getTop(int stack[], int top)
{
    if(isEmpty(top))
        return -1;
    else
        return stack[top];
}

int main()
{
    int stackTop;
    Init(&stackTop);
    push(Stack,3,&stackTop);
    push(Stack,1,&stackTop);
    push(Stack,5,&stackTop);
    push(Stack,4,&stackTop);
    push(Stack,6,&stackTop);
    printf("%d getTop = %d\n",pop(Stack,&stackTop),getTop(Stack,stackTop));
    printf("%d getTop = %d\n",pop(Stack,&stackTop),getTop(Stack,stackTop));
    printf("%d getTop = %d\n",pop(Stack,&stackTop),getTop(Stack,stackTop));
    printf("%d getTop = %d\n",pop(Stack,&stackTop),getTop(Stack,stackTop));
    printf("%d getTop = %d\n",pop(Stack,&stackTop),getTop(Stack,stackTop));
    printf("%d getTop = %d\n",pop(Stack,&stackTop),getTop(Stack,stackTop));
}

 

第二章-线性结构-栈

原文:https://www.cnblogs.com/xwxz/p/11867492.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!