zoukankan      html  css  js  c++  java
  • 顺序栈的初始化,建立,插入,查找,删除

    ////////////////////////////////////////////
    //顺序栈的初始化,建立,插入,查找,删除。      //
    //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;
    }

  • 相关阅读:
    发布(Windows)
    Parallel并行编程
    query通用开源框架
    深入了解三种针对文件(JSON、XML与INI)的配置源
    GitLab CI
    雅思创始人Keith Taylor谈英语学习
    查看内存使用情况
    Reverse String
    分布式消息系统jafka快速起步(转)
    深入浅出 消息队列 ActiveMQ(转)
  • 原文地址:https://www.cnblogs.com/byfei/p/3112212.html
Copyright © 2011-2022 走看看