zoukankan      html  css  js  c++  java
  • LIFO栈 ADT接口 数组实现

    LIFO 栈结构

    1 typedef  int ElemenType;
    2 struct seqStack{
    3        ElemeType data[MaxSize];
    4        int top;
    5        };
    6 typedef struct seqStack* Stack;

    LIFO 栈基本操作

     1 //LIFO 顺序栈 初始化
     2 void InitStack(Stack s){
     3      s -> top = -1;
     4 }
     5 
     6 //LIFO 顺序栈判断栈空
     7 boolean StackEmpty(Stack s){
     8      if(s -> top == -1) return true;
     9      else return false;
    10 }
    11 
    12 //LIFO 顺序栈判断栈满
    13 boolean StackFull(Stack s){
    14      if(s -> top == MaxSize-1) return true;
    15      else return false;
    16 }
    17 
    18 //LIFO 顺序栈进栈
    19 void Push(Stack s, ElemType x){
    20      if(s->top == MaxSize-1){
    21         printf("栈满溢出错误!
    ");
    22         exit(1);
    23      }
    24      s -> top++;
    25      s -> data[s>top] = x;
    26 }
    27 
    28 //LIFO 顺序栈出栈
    29 ElemType Pop(Stack s){
    30      if(StackEmpty(s){
    31         printf("栈下溢错误!
    ");
    32         exit(1);
    33      }
    34      x = s->data[s->top];
    35      s -> top--;
    36      return x;
    37 }
    38 
    39 //LIFO 顺序栈读取栈顶元素
    40 ElemType GetTop(Stack s){
    41      if(StackEmpty(s){
    42         printf("下溢错误!
    ");
    43         exit(1);
    44      }
    45      return s -> data[s -> top];
    46 }
  • 相关阅读:
    BZOJ 1631 Cow Party
    BZOJ 1927 星际竞速
    BZOJ 4059 Non-boring sequences
    BZOJ 1562 变换序列
    BZOJ 4417 超级跳马
    484586
    背板问题之满包问题
    对01背包路径的记录
    带权值的图 BFS
    漫步校园 杭电1428
  • 原文地址:https://www.cnblogs.com/WALLACE-S-BOOK/p/9728493.html
Copyright © 2011-2022 走看看