构建栈结构体

本文介绍了如何使用C++构建顺序栈结构体,包括初始化、判断栈空、入栈、出栈和获取栈顶元素等基本操作。通过CodeBlocks软件进行上机调试,创建顺序栈myStack,并演示了压入1到10的元素及输出栈中数据的过程。
摘要由CSDN通过智能技术生成
#include "stdio.h"
#include "malloc.h"
#include "stdlib.h"
#define maxsize 100
//顺序栈结构体定义
typedef int ElemType;
typedef struct Stack
{
    ElemType Stack[maxsize];
    int top;
    //*struct Stack *rear;*//
}Stack;

//初始化
void InitStack (Stack *s)
{
    s->top=0;
}



//判栈栈S是否为空

 int StackEmpty (Stack s)
 {
     if(s.top==0)
        return 1;
     else
        return 0;
 }

//入栈
void StackPush(Stack *s,ElemType a)
{
    if(s->top==maxsize-1)
    {
        exit (0);
    }
    else
    {
    s->top++;
    s->Stack[s->top]=a;
    }
}


//出栈
void StackPop (Stack *s,ElemType *b)
{
    if(StackEmpty (*s))
        printf("空stack");
    else
        *b=s->Stack[s->top--];
}


//获取栈顶元素内容
void GetTop (Stack s,ElemType *b)
{
    if(StackEmpty(s))
        printf("空stack");
    else
        *b=s.Stack[s.top];
}

/*创建一个顺序栈myStack,首先依次向栈压入数据元素1,2,...,10,然后依次输出堆栈中的数据元素并
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值