数据结构栈的基本操作

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
}
return 0;
}//输出栈元素
void main()
{
SqstackL;
inti,j,k;
IntSqstack(L);
printf("输入你要的栈的大小\n");
s百度文库anf("%d",&j);
for(k=01;k<=j;k++)
{
printf("请输入第%d个栈元素\n",k);
scanf("%d",&i);
if(!s.base)exit(-1);
s.top=s.base+s.stacksize;
s.stacksize++;
}
*s.top++=e;
}//进栈函数
void Pop(Sqstack&s,inte)
{int*q,i;
q=s.top,i=s.stacksize;
while(i!=0&&*q!=e)
{q--;
i--;
}
for(;q!=s.top;q++)*q=*(q+1);
s.stacksize--;
}//出栈函数
intOutputStack(Sqstacks)
{
while(s.stacksize!=0)
{
printf("%d ",*s.base);
s.base++;
s.stacksize--;
#include<stdio.h>
#include<stdlib.h>
typedefstruct{
int*base;
int*top;
intstacksize;
}Sqstack;//定义栈
intIntSqstack(Sqstack&s)
{s.base=(int*)malloc(1*sizeof(int));
if(!s.base)exit(0);
s.top=s.base;
s.stacksize=1;
return 0;
}//初始化栈
void Push(Sqstack&s,inte)
{
if(s.top-s.base>=s.stacksize){
s.base=(int*)realloc(s.base,(s.stacksize+1)*sizeof(int));
Push(L,i);
}
OutputStack(L);
printf("栈顶元素是%d",*--L.top);
printf("输入你要删除的元素\n");
scanf("%d",&j);
Pop(L,j);
OutputStack(L);
}
相关文档
最新文档