seqstack.c

来自「初级入门数据结构的排序等8个小程序,有兴趣的看看哈!我的作业,呵呵!」· C语言 代码 · 共 64 行

C
64
字号
/*顺序栈*/ 
#include<stdio.h>
#define Maxsize 100
typedef struct
{
    int data[Maxsize];
    int top;
}SeqStack;
SeqStack *Init_SeqStack()
{
    SeqStack *s;
    s=(SeqStack *)malloc(sizeof(SeqStack));
    s->top=-1;
    return s;
}

/*入栈*/
int Push_Seqstack(SeqStack *s,int x)
{
    if(s->top==Maxsize-1)return 0;
    else{
        s->top++;
        s->data[s->top]=x;
        return 1;
    }
}
/*出栈*/
int Pop_SeqStack(SeqStack *s,int *y)
{
    if(Empty_SeqStack(s)) return 0;
    else{
        *y=s->data[s->top];
        s->top--;
        return 1;
    }
}
/*判空栈*/
int Empty_SeqStack(SeqStack *s)
{
    if(s->top==-1) return 1;
    else return 0;
}
void main()
{
    int i,y,*c;
    SeqStack *p;
    p=Init_SeqStack();
    scanf("%d",&y);
    while(y!=0)
    {
        if(Push_Seqstack(p,y)==1)
        scanf("%d",&y);
    }

   while(!Empty_SeqStack(p))
   {
      if(Pop_SeqStack(p,&y)==1)
      printf("%d\t",y);
  }
    getch();
}
    

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?