- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构实验报告2栈和队列王浩文
南方医科大学生物医学工程学院__电子信息工程_系
数据结构实验报告
PAGE
PAGE 6
姓名王浩文学号113200880200010专业年级08电子信息工程单元第3章内容栈和队列的应用日期2010-6-12实验题目实验二 栈和队列的应用(综合性实验 3学时)实验目的本次实习的目的在于深入了解栈和队列的特征,以便在实际问题背景下灵活运用它们;同时还将巩固这两种结构的构造方法,接触较复杂问题的递归算法设计。实验内容
一、必做题(选做两题):
二、选做题:
1、火车车厢调度问题
[问题描述] 假设停在铁路调试站入口处车厢序列的编号依次为:1,2,3,…,n。设计一个程序,求出所有可能由此输出的长度为n的车厢序列。
[基本要求] 程序对栈的任何存取(即更改,读取和状态判别等操作)必须借助于基本运算进行。
[测试数据] 分别取n=1,2,3和4。实验要求及讨论
(本次实验的要求是否达到,有何问题,是怎么解决的)
抄写自己所选择的题目。
写出算法设计思路。
编写代码,调试运行,实现题目要求(提示:考虑到插入和删除的位置是否超出范围等可能出现的异常问题)。
? 四、写出算法设计、编程和调试运行的体会。
数据结构实验报告
抄写自己所选择的题目。
1、 称正读和反读都相同的字符序列为“回文”,例如,abcddcba、qwerewq是回文,ashgash不是回文。试写一个算法,判断读入的一个以“@”为结束符的字符序列是否为回文。
2、假设以数组se[m]存放循环队列的元素,同时设变量rear和front分别作为队首、队尾指针,且队首指针指向队首节点前一个位置,写出这样设计的循环队列的入队、出队的算法。
写出算法设计思路。
先分配一个含80个字符的数组用来存放输入的字符序列,再构造一个结构体,以堆栈的方式将字符序列入栈,然后出栈并与相应的顺序数组挨个进行比较,直到出现不相等的情况,就输出“不是回文”,否则在结束比较后输出“是回文”。
先分配一个数组用来存放输入的char。然后按照用户的长度要求将字符串存入顺序列表中,再输出到屏幕。
编写代码,调试运行,实现题目要求(提示:考虑到插入和删除的位置是否超出范围等可能出现的异常问题)
1. /* 称正读和反读都相同的字符序列为回文,例如,abcddcba、qwerewq是回文,
ashgash不是回文。试写一个算法,判断读入的一个以@为结束符的字符序列
是否为回文。*/
typedef char SElemType;
#includec-head.h
#includehong.h
#includeshunxz.c
#define CHECK 0
/* 宏定义,方便调试 */
main()
{
SqStack s;
char ch[80],*p,e; /*char 他们*/
int t,i,k=1;
if(InitStack(s)) /* 初始化栈成功 */
{
printf(请输入以“@”结尾的字符序列: );
gets(ch);
p=ch;
}
while(*p)
if(*p!=64)
Push(s,*p++);
else
{
t=StackLength(s);
printf(您一共输入了%d个字符。\n\n\n,t);
p++;
}
printf(正在比较中:\n);
printf(正读 反读\n);
for(i=0;it;i++)
{
Pop(s,e);
printf( %c -- %c\n,ch[i],e);
if(ch[i]!=e){printf(您输入的字符序列“不是”回文。\n);
if(CHECK)printf(no.); k=0;break;}
}
if(k)
printf(您输入的字符序列“是”回文。\n);
if(CHECK){if(k)printf(yes.);}
getch();
}
/* c-head.h (程序名) */
#includestring.h
#includectype.h
#includemalloc.h /* malloc()等 */
#includelimits.h /* INT_MAX等 */
#includestdio.h /* EOF(=^Z或F6),NULL */
#includestdlib.h /* atoi() */
#includeio.h
文档评论(0)