全球旧事资料 分类
数据结构课程设计回文判断
12020年4月19日
f文档仅供参考
设计题目:344回文判断
一,问题描述二,需求分析三,概要设计四,详细设计五,测试分析六,源程序清单七,用户使用手册八,心得体会
专业:姓名:学号:
日期:0911
22020年4月19日
f文档仅供参考
一、问题描述判断依次读入的一个以为结束符的字母序列,是否形如“序列1序列2”模式的字符序列。其中序列1和
序列2都不含“”字符,且序列2是序列1的逆序列。
二、需求分析(1)输入测试数据组数,接着分组输入字符串,以结尾。(2)输入序列总长不超过MAX_N100052个。将序列1先入栈,接着处理序列2,同时出栈判
断。(3)将序列1全部入栈,接着输入序列2,同时出栈判断。(4)如果序列满足题目要求,则输出“回文序列”;否则,输出“非回文序列”。(5)测试数据:paltxt12
32020年4月19日
f文档仅供参考
abbaabaa
abbaabcbcbccbaabab
42020年4月19日
f文档仅供参考
三、概要设计
(1)数据结构:
typedefstructStack
i
ttopsize
charstrMAX_N1

使用结构体,内部定义数组模拟栈。top为栈顶指针,指向当前元素的下一个位置,size表示栈内的
元素个数。
(2)函数介绍:
voidst_i
itStackst
栈的初始化
boolst_pushStackstco
stchartemp
入栈
boolst_topStackstchartemp
出栈
(3)程序流程图:
52020年4月19日
f文档仅供参考
开始读入字符,
stristri’’
Y对序列2进行判断,st同rl时e
出s栈t处理,r标记奇判数断状
序列态1。入栈
2020年4月19日
iN
6
f文档仅供参考
flag
Y
N
非回文序列
回文序列
结束
四、详细设计主要出栈和入栈函数,能够对边界进行处理,防止栈为空情况。
72020年4月19日
f文档仅供参考
boolst_pushStackstco
stchartemp
ifsttopstsizeretur
false
ststrsttoptempretur
true
boolst_popStackst
ifsttop0retur
false
sttopretur
true
82020年4月19日
f文档仅供参考
另外还有取栈顶函数。boolst_topStackstchartemp
ifsttop0retur
false
tempststrsttop1retur
true
五、测试分析(1)测试环境:CodeBlock1004
92020年4月19日
f文档仅供参考
(2)输入过程:因为使用getchar输入,因此有些地方需要谨慎处理。用于getchar能够读入任意字符,因此
回车和空格之类的特殊字符也作为序列参与判断了。(3)测试结果:
102020年4月19日
f文档仅供参考
112020年4月19日
f文档仅供参考
六、源程序清单i
cludestdiohi
clr
好听全球资料 返回顶部