• 顺序栈的初始化,建立,插入,查找,删除


    ////////////////////////////////////////////
    //顺序栈的初始化,建立,插入,查找,删除。      //
    //Author:Wang Yong          // 
    //Date: 2010.8.19          //
    ////////////////////////////////////////////


    #include <stdio.h>
    #include <stdlib.h>

    #define  MAX 100      //定义最大栈容量

    typedef int ElemType;

    ///////////////////////////////////////////

    //定义栈类型
    typedef struct
    {
     ElemType data[MAX];
     int top;
    }SeqStack;

    ///////////////////////////////////////////

    //栈的初始化

    SeqStack SeqStackInit()
    {
     SeqStack s;
     s.top = -1;
     return s;
    }

    ///////////////////////////////////////////

    //判断栈空的算法

    int SeqStackIsEmpty(SeqStack s)
    {
     if(s.top == -1)
      return 0;
     else
      return 1;
    }

    ///////////////////////////////////////////

    //进栈的算法

    void SeqStackPush(SeqStack &s,ElemType x)
    {
     if(s.top == MAX-1)    //进栈的时候必须判断是否栈满
      printf("stack full/n");
     s.top++;
     s.data[s.top] = x;
    }

    //////////////////////////////////////////

    //出栈的算法

    ElemType SeqStackPop(SeqStack &s)
    {
     if(s.top == -1)    //出栈的时候必须判断是否栈空
      printf("stack empty/n");
     ElemType x;
     x = s.data[s.top];
     s.top--;
     return x;
    }

    //////////////////////////////////////
    int main()
    {
     SeqStack  stack;
     stack = SeqStackInit();
     printf("请输入进栈的元素:");
     ElemType x;
     while(scanf("%d",&x) != -1)
     {
      SeqStackPush(stack,x); 
     }
     printf("出栈的结果:");
     while(stack.top != -1)
     {
      printf("%d ",SeqStackPop(stack));
     }
     printf("/n");
     return 0;
    }

  • 相关阅读:
    微信小程序地图组件中的include-points怎样缩放视野并将所有坐标点在规定的视野内展示?
    两种常见的mysql集群架构
    layui+oss阿里云附件上传回调报错问题
    redis hash过期时间
    Static和Extern关键字理解
    代理模式
    中介者模式
    访问者模式
    模板方法模式
    迭代器模式
  • 原文地址:https://www.cnblogs.com/byfei/p/3112212.html
Copyright © 2020-2023  润新知