1 / 10
文档名称:

数据结构实验 栈和队列.doc

格式:doc   大小:247KB   页数:10页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数据结构实验 栈和队列.doc

上传人:mh900965 2018/2/15 文件大小:247 KB

下载得到文件列表

数据结构实验 栈和队列.doc

文档介绍

文档介绍:实验二第三章栈和队列
一、栈
【实验源码】
#include<>
#include<>
#include<>
#define STACK_INIT_SIZE 100
#define STACKINCREMENT 10
typedef int SElemType;
typedef int Status;
typedef struct{
SElemType *base;
SElemType *top;
int stacksize;
}SqStack;
Status InitStack(SqStack &S){
//构造一个空栈
int i;
=(SElemType *)malloc(STACK_INIT_SIZE *sizeof(SElemType));
if(!)return(0);//存储分配失败
=;
printf("请输入5个数字为栈的元素赋值,以空格分隔: ");
for(i=0;i<5;i++)
{
scanf("%d",++);
}
=STACK_INIT_SIZE;
return 1;
}//InitStack
/*Status GetTop(SqStack S, SElemType &e){
//若栈不空,则用e返回S的栈顶元素,并返回 1 ;否则返回 0
if(==) return 0;
e=*(-1);
return 1;
}//GetTop*/
Status Push(SqStack &S,SElemType e){
//插入元素e为新的栈顶元素
if(->=){//栈满,追加存储空间
=(SElemType *)realloc(,(+STACKINCREMENT)*sizeof(SElemType));
if(!)return(0);//存储分配失败
=+;
+=STACKINCREMENT;
}
*++=e;
return 1;
}//Push
Status Pop(SqStack &S,SElemType e){
//若栈不空,则删除S的栈顶元素,用e返回其值,并返回1;否则返回0
if(==)return 1;
e=*--;
return e;
}//Pop
void Dispay(SqStack S){//显示栈内元素
int *p;
p=;
printf("栈内元素为: ");
while(!=)
printf("%d ",*++);
printf("\n\n");
=p;
}
void main()
{
int j,k,t;
SqStack sta;
t=1;
printf("*********