栈和队列的定义Word文件下载.docx

上传人:b****5 文档编号:17649511 上传时间:2022-12-07 格式:DOCX 页数:8 大小:124.65KB
下载 相关 举报
栈和队列的定义Word文件下载.docx_第1页
第1页 / 共8页
栈和队列的定义Word文件下载.docx_第2页
第2页 / 共8页
栈和队列的定义Word文件下载.docx_第3页
第3页 / 共8页
栈和队列的定义Word文件下载.docx_第4页
第4页 / 共8页
栈和队列的定义Word文件下载.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

栈和队列的定义Word文件下载.docx

《栈和队列的定义Word文件下载.docx》由会员分享,可在线阅读,更多相关《栈和队列的定义Word文件下载.docx(8页珍藏版)》请在冰豆网上搜索。

栈和队列的定义Word文件下载.docx

(2)、掌握栈的定义和基本操作,熟练掌握顺序栈的操作及应用;

(3)、掌握对列的定义和基本操作,熟练掌握链式队列的操作及应用,掌握环形队列的入队和出队等基本操作;

(4)、加深对栈结构和队列结构的理解,逐步培养解决实际问题的编程能力;

四、实验内容:

(1)、定义顺序栈,完成栈的基本操作:

空栈、入栈、出栈、取栈顶元素;

实现十进制数与八进制数的转换,十进制数与十六进制数的转换和任意进制之间的转换;

(2)、定义链式队列,完成队列的基本操作:

入队和出队;

 

五、实验环境(使用的软硬件):

VC6.0

六、实验步骤及操作:

(1)10进制数转化为8进制

#include<

stdio.h>

stdlib.h>

#defineMAXSIZE100

typedefstructseqstack

{

intdata[MAXSIZE];

inttop;

}seqstack;

voidsetnull(seqstack*s)

s->

top=-1;

}

voidpush(seqstack*s,intx)

if((s->

top)==MAXSIZE-1)

printf("

ERROR!

!

\n"

);

else

{

s->

top++;

data[s->

top]=x;

}

intpop(seqstack*s,int*t)

if(s->

top==-1)returnNULL;

return*t=s->

top--];

intgettop(seqstack*t)

if(t->

top==-1)

return0;

else

returnt->

data[t->

top];

StackEmpty(seqstack*s)

if(s->

return1;

else

return0;

voidmain()

intN,t;

seqstack*s;

s=(seqstack*)malloc(sizeof(seqstack));

setnull(s);

printf("

请输入要转换的十进制数:

"

scanf("

%d"

&

N);

while(N)

push(s,N%8);

N=N/8;

转换后的八进制数:

while(!

StackEmpty(s))

pop(s,&

t);

t);

************感谢使用数制转换程序************\n"

(2)链队列的实现

#defineN10

typedefstructnode

intdata;

structnode*next;

}linknode;

typedefstruct

linknode*front,*rear;

}linkqueue;

linkqueueq;

voidiniqueue(linkqueue*q)

q->

front=(linknode*)malloc(sizeof(linknode));

rear=q->

front;

front->

next=NULL;

voidaddqueue(linkqueue*q,intx)

linknode*p;

p=(linknode*)malloc(sizeof(linknode));

p->

data=x;

rear->

next=p;

rear=p;

intoutqueue(linkqueue*q)

if(q->

rear==q->

front)

returnNULL;

p=q->

q->

front=q->

next;

free(p);

returnq->

data;

voidmain()

inti,a[N],b;

iniqueue(&

q);

N=%d"

N);

putchar('

\n'

请输入N个数:

for(i=0;

i<

N;

i++)

scanf("

a[i]);

addqueue(&

q,a[i]);

putchar('

printf(“出对后的数”);

b=outqueue(&

%d"

b);

七、实验结果:

(1)、10进制数转化为8进制

八、实验总结及心得体会:

感觉就是写的很不好,要有思路。

这次试验程序好多调试不过是因为空间分配问题,以后会多注意的。

九、对本实验过程及方法、手段的改进建议:

报告评分:

指导教师签字:

批阅日期:

注意:

●实验报告以纸质文档形式上交。

实验报告将记入平时成绩;

●每次实验开始时,交上一次的实验报告,否则将扣除此次实验成绩。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 理化生

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1