📄 jay2.c
字号:
#define NULL 0
#define maxsize 128
#include "stdio.h"
typedef int datatype;
typedef struct
{ datatype data[maxsize];
int top;
} seqstack;
seqstack *s, *n, *m,*w;
int j=0;
char ch;
seqstack *CREAT()
{ int t;
seqstack *l;
l=NULL;
l->top=-1;
printf("\nSeqstack:\n");
scanf("%d",&t);
while(t!=NULL)
{ l->data[j]=t;
l->top++;
printf("%d\t",l->data[j]);
j++;
scanf("%d",&t);
}
return(l);
}
int EMPTY()
{
if(s->top==-1)
printf("\nYes!\n");
else
printf("\nNo!\n");
return 1;
}
seqstack * PUSH(p,x)
seqstack *p;
datatype x;
{
if(p->top==maxsize-1)
{ printf("overflow");
}
else
{ p->top++;
p->data[p->top]=x;
}
return(p);
}
datatype POP(r)
seqstack *r;
{
if(r->top==-1)
{ printf("underflow");
return(NULL);
}
else
{ r->top--;
return(r->data[r->top+1]);
}
}
datatype TOP(r)
seqstack *r;
{
if(r->top==-1)
{ printf("stack is empty");
return(NULL);
}
else
return(r->data[r->top]);
}
SETNULL(r)
seqstack *r;
{ r->top=-1;
}
main()
{ int i,t,k=0,q=0,l=0,r=0;
n=CREAT();
w=n;
EMPTY();
printf("\nPUSH:\n");
scanf("%d",&i);
s=PUSH(n,i);
while( n->data[k]!=NULL && k<j+1)
{ printf("%d\t",n->data[k]);
k++;
}
printf("\n");
printf("\nPOP?\n");
getchar();
ch=getchar();
if( ch == 'Y' || 'y' )
{
i=POP(m);
printf("\nDelete:%d", i);
printf("\n");
while(m->data[q]!=NULL && q<j)
{ printf("%d\t",m->data[q]);
q++;
}
printf("\n");
}
printf("\nTOP?\n");
getchar();
ch=getchar();
if(ch=='Y'||'y')
{
t=TOP(m);
printf("\nthe number is:%d",t);
printf("\n");
while(m->data[l]!=NULL && l<j)
{ printf("%d\t",m->data[l]);
l++;
}
printf("\n");
}
printf("SETNULL?");
getchar();
ch=getchar();
if(ch=='Y'||'y')
{ SETNULL(w);
while(w->data[r]!=NULL && r<j)
{ printf("%d\t",w->data[r]);
r++;
}
printf("\n");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -