一个数组实现两个栈的例程

//该程序仅用一个数组而实现两个栈的例程。
//除非数组的每一个单元都被使用
//否则你的栈例程不能有溢出声明
#include <stdio.h>
#include <stdlib.h>
#define MinStackSize (5)

typedef struct Node *dbstack;        //双栈
dbstack CreatStack(int MaxElements); //构建一个大小为MAXElements的数组
void firstPush(int x, dbstack A);    //头栈push
void lastPush(int x, dbstack A);     //尾栈push
int firstPop(dbstack A);             //头栈pop并返回元素
int lastPop(dbstack A);              //尾栈pop并返回元素
void isEmpty(dbstack A);             //判断元素是否为空
void isFull(dbstack A);              //判断元素是否满了

struct Node
{
   
    int first;    //从数组头部开始的栈的长度
    int last;     //从数组尾部开始的栈的长度
    int Capacity; //栈的容量,可以作为栈是否为空的依据
    int *Array;
};

int main()
{
   
    dbstack A;

    return 0;
}

void firstPush(int x, dbstack A) //头栈push
{
   
    int i;
    
    if (A->Capacity != 0)
    {
   
        A->first = (A->first) + 1;
        i = A
  • 1
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值