实验4:栈和队列的基本操作实现及其应用——进制转换以及实验总结

一、实验目的

1、   熟练掌栈和队列的结构特点,掌握栈和队列的顺序存储和链式存储结构和实现。

2、      学会使用栈和队列解决实际问题。

二、实验内容

1、自己确定结点的具体数据类型和问题规模:

分别建立一个顺序栈和链栈,实现栈的压栈和出栈操作。

分别建立一个顺序队列和链队列,实现队列的入队和出队操作。

2、设计算法并写出代码,实现一个十将二进制转换成2进制数。

3、选做题(*

设计一个模拟饭堂排队打饭管理软件,实现“先来先打饭”的排号叫号管理。

三、实验步骤

1、依据实验内容分别说明实验程序中用到的数据类型的定义;

2、相关操作的算法表达;

3、完整程序;

4、总结、运行结果和分析。

5、总体收获和不足,疑问等。

四、实验要求

1、   按照数据结构实验任务书,提前做好实验预习与准备工作。

2、   加“*”为选做题。做好可加分。

3、   严格按照数据结构实验报告模板和规范,及时完成实验报告。

4、   在个人主页上发文章提交作业。

5、   实验课会抽查3-5人,希望你可以被查到!

源代码如下:

#include<stdio.h>
int main()
{
int a;
char s[20]; int i=0,rem;
printf("请输入整数:\n");
scanf("%d",&a); 
do
{
rem=a%2; a=a/2;
s[i]=rem;
i++;
}while(a!=0);
printf("输出的二进制:");
while(i>0)
printf("%d",s[--i]); 
printf("\n");
return 0;
}

实验结果如下:




实验总结:

这次实验总的来说完成的还算可以吧,不过在这次实验中也发现了一些问题,就是虽然书上有很多都已经给出了算法跟代码,但是书上的代码也不一定是正确的,所以下一次实验的时候会仔细考虑的。而且书上有一些算法是不可以直接用的,需要转换一下方式。在主函数中,定义的时候,最好用一个,定义一下,不要一次性就定义了,这很有可能会忘记自己之前定义过什么,从而造成思绪混乱。


阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭