zoukankan      html  css  js  c++  java
  • 数据结构:栈的基本操作

    int main()
    {
        SeqStack MyStack;
        StackInitiate(&MyStack);
        for (int i = 0; i < 10; i++)
            StackPush(&MyStack, i);
        printf("栈顶元素为:%d
    ", StackTop(&MyStack));
        int pop;
        StackPop(&MyStack, &pop);
        printf("%d 已出栈
    ", pop);
        printf("栈顶元素为:%d
    ", StackTop(&MyStack));
        //依次出栈
        while (StackNotEmpty(MyStack)) {
            StackPop(&MyStack, &pop);
            printf("%d ", pop);
        }
        //判断全部出栈后是否为空
        if (!StackNotEmpty(MyStack))
            printf("栈已空
    ");
        return 0;
    }

    输出:
    这里写图片描述
    SeqStack.h头文件
    (点击下载)

    #include "stdio.h"
    #define DataType int
    #define MaxStackSize 100
    typedef struct {
        DataType stack[MaxStackSize];
        int top;
    }SeqStack;
    
    //初始化
    void StackInitiate(SeqStack *S) {
        S->top = 0;
    }
    
    //非空否
    int StackNotEmpty(SeqStack S) {
        if (S.top == 0)
            return 0;
        else return 1;
    }
    
    //入栈
    int StackPush(SeqStack *S, DataType x) {
        if (S->top >= MaxStackSize) {
            printf("堆栈已满,无法入栈!");
            return 0;
        }
        else {
            S->stack[S->top] = x;
            S->top++;
            return 1;
        }
    }
    
    //出栈
    int StackPop(SeqStack *S, DataType *x) {
        if (S->top <= 0) {
            printf("堆栈以空,无法出栈");
            return 0;
        }
        else {
            S->top--;
            *x = S->top;
            return 1;
        }
    }
    
    //取栈顶元素
    int StackTop(SeqStack *S) {
        if (S->top <= 0) {
            printf("堆栈以空");
            return -1;
        }
        else {
            return S->stack[S->top - 1];
        }
    }
    
  • 相关阅读:
    windows下安装mysql教程
    git基本操作
    JDK8,Optional
    重新安装MySQL 8出现的问题
    HTML5学习:缩略图
    HTML5学习:表格
    MySQL常用命令
    Django学习:创建admin后台管理站点
    Django学习:连接Mysql数据库
    Django学习:创建第一个app
  • 原文地址:https://www.cnblogs.com/cnsec/p/13286819.html
Copyright © 2011-2022 走看看