欢迎来到天天文库
浏览记录
ID:37554780
大小:168.50 KB
页数:7页
时间:2019-05-25
《栈和队列的定义》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、闽江学院电子系实验报告学生姓名:邓俊辉班级:电信2班学号:120101003235课程:数据结构与算法一、实验题目:栈和队列的定义及基本操作二、实验地点:A210三、实验目的:(1)、熟练掌握栈和队列的特点;(2)、掌握栈的定义和基本操作,熟练掌握顺序栈的操作及应用;(3)、掌握对列的定义和基本操作,熟练掌握链式队列的操作及应用,掌握环形队列的入队和出队等基本操作;(4)、加深对栈结构和队列结构的理解,逐步培养解决实际问题的编程能力;四、实验内容:(1)、定义顺序栈,完成栈的基本操作:空栈、入栈、出栈、取栈顶元素;实现十进
2、制数与八进制数的转换,十进制数与十六进制数的转换和任意进制之间的转换;(2)、定义链式队列,完成队列的基本操作:入队和出队;五、实验环境(使用的软硬件):VC6.0六、实验步骤及操作:(1)10进制数转化为8进制#include#include#defineMAXSIZE100typedefstructseqstack{7intdata[MAXSIZE];inttop;}seqstack;voidsetnull(seqstack*s){s->top=-1;}voidpush(seqst
3、ack*s,intx){if((s->top)==MAXSIZE-1)printf("ERROR!!");else{s->top++;s->data[s->top]=x;}}intpop(seqstack*s,int*t){if(s->top==-1)returnNULL;elsereturn*t=s->data[s->top--];}intgettop(seqstack*t){if(t->top==-1)return0;elsereturnt->data[t->top];}StackEmpty(seqstack*s)
4、{if(s->top==-1)return1;elsereturn0;}7voidmain(){intN,t;seqstack*s;s=(seqstack*)malloc(sizeof(seqstack));setnull(s);printf("请输入要转换的十进制数:");scanf("%d",&N);while(N){push(s,N%8);N=N/8;}printf("转换后的八进制数:");while(!StackEmpty(s)){pop(s,&t);printf("%d",t);}printf("");pr
5、intf("************感谢使用数制转换程序************");}(2)链队列的实现#include#include#defineN10typedefstructnode{intdata;structnode*next;}linknode;typedefstruct{linknode*front,*rear;}linkqueue;linkqueueq;voidiniqueue(linkqueue*q)7{q->front=(linknode*)malloc(s
6、izeof(linknode));q->rear=q->front;q->front->next=NULL;}voidaddqueue(linkqueue*q,intx){linknode*p;p=(linknode*)malloc(sizeof(linknode));p->data=x;p->next=NULL;q->rear->next=p;q->rear=p;}intoutqueue(linkqueue*q){linknode*p;if(q->rear==q->front)returnNULL;else{p=q->f
7、ront;q->front=q->front->next;free(p);returnq->front->data;}}voidmain(){inti,a[N],b;iniqueue(&q);printf("N=%d",N);putchar('');printf("请输入N个数:");for(i=0;i8、intf("%d",b);}}一、实验结果:(1)、10进制数转化为8进制(2)链队列的实现7一、实验总结及心得体会:感觉就是写的很不好,要有思路。这次试验程序好多调试不过是因为空间分配问题,以后会多注意的。二、对本实验过程及方法、手段的改进建议:printf("转换后的八进制数:");注意:(当pop
8、intf("%d",b);}}一、实验结果:(1)、10进制数转化为8进制(2)链队列的实现7一、实验总结及心得体会:感觉就是写的很不好,要有思路。这次试验程序好多调试不过是因为空间分配问题,以后会多注意的。二、对本实验过程及方法、手段的改进建议:printf("转换后的八进制数:");注意:(当pop
此文档下载收益归作者所有