回文序列判断(运用栈以及队列完成).docVIP

  • 9
  • 0
  • 约2.54千字
  • 约 6页
  • 2019-08-05 发布于江西
  • 举报
回文序列判断实验报告 系别:通信工程 班级: 0905班 学号: 18 号 1.实验目的:熟悉栈的各项操作 2.实验内容: 利用栈的操作完成读入的一个以@结尾的字符序列是否是回文序列的判断. 回文序列即正读与反读都一样的字符序列; 例如:123321@是; 1234321@、123312@不是 算法思想:从键盘上读取一个字符,同时存储在顺序栈与链队列之中,直到字符序列的最后一个字符为@停止输入,因为要满足特定的要求:序列1序列2,故设置夜歌标记量falg=1,判断输入的元素个数是否为奇数个,若为偶数个则令flag=0,若为奇数个继续判断栈的中间元素是否为,若不是则令flag=0,若是,将栈和队列中的元素依次出列,判断是否相等,若不相等则令flag=0,最后将flag的值返回给主函数,若flag被修改为0说明不是回文序列,否则反之!! 判断回文序列的流程图: 初始化栈 初始化栈InitS(s) 初始化队列InitQ(q) 当ch!=@时 ch=getch() Y ch!=@ N printf(%c,ch) push(s,ch) enter(q,ch) m++ Y m%2!=0 N Y s-e[m/2]== N flag=0 i=1 当i(m+1)/2时

文档评论(0)

1亿VIP精品文档

相关文档