电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

试验报告讲解

试验报告讲解_第1页
1/12
试验报告讲解_第2页
2/12
试验报告讲解_第3页
3/12
数据结构上机实验报告实验三栈和队列班 级: 13 级计本二班姓 名:杨宴强学 号: 201392130129 实验三栈和队列一、实验目的:⒈学习顺序栈的基本操作2. 学习链栈的基本操作 3.学习循环队列基本操作 4.学习链队列基本操作二、实验内容:⒈顺序栈的基本运算 2. 链栈的基本操作 3.循环队列的基本运算 4.链队列的基本运算三、实验步骤及结果:1:顺序栈#include"stdio.h" #include"stdlib.h" #define MAXSIZE 20 typedef struct { char data[MAXSIZE];//栈中元素存储空间int top;// 栈顶指针}SeqStack;// 顺序栈类型void Init_SeqStack(SeqStack **s)// 顺序栈初始化{ *s=(SeqStack*)malloc(sizeof(SeqStack));// 在主函数中申请栈空间(*s)->top=-1;// 置栈空标志} int Empty_SeqStack(SeqStack*s)// 判断栈是否为空{ if(s->top==-1)// 栈为空时return 1;//返回 1 else return 0;//返回 0 } void Push_SeqStack(SeqStack *s,char x)// 顺序栈入栈{ if(s->top==MAXSIZE-1)//判断是否栈满printf("Stack is full!\n");//栈已满else { s->top++;//s 指向下个节点s->data[s->top]=x;// 元素 x 压入栈 *s 中} } void Pop_SeqStack(SeqStack *s,char *x)// 将栈 *s 中的栈顶元素出栈并通过参数x 返回给主调函数{ if(s->top==-1)// 栈空返回 1 printf("Stack is empty!\n");//栈为空else { *x=s->data[s->top];// 栈顶元素出栈s->top--;// 栈顶指针 top-1 } } void Top_SeqStack(SeqStack *s,char *x)// 取顺序栈栈顶元素{ if(s->top==-1)// 栈空返回 1 printf("Stack is empty!\n");//栈为空else { *x=s->data[s->top];// 取栈顶元素值} } void print(SeqStack *s)// 顺序栈输出{ int i;// 定义变量 i for(i=0;i<=s->top;i++)//判断printf("%4d",s->data[i]);//读入数据printf("\n");// 输出栈} void main() { SeqStack *s;//定义指针s char x,*y=&x;//y是指向 x 的指针,出栈元素经过y 传给变量 x Init_SeqStack(&s);// 顺序栈初始化if(Empty_SeqStack(s))// 判断栈是否为空printf("Stack is empty!\n"); printf("Input data of stack:\n");//顺序栈元素入栈scanf("%c",&x);// 读入数据while(x!='\n')// 对 x 的计数直到 \n 结束{ Push_SeqStack(s,x);//x 入栈scanf("%c",&x); } printf("Output all data of...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

试验报告讲解

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部