资源预览内容
第1页 / 共4页
第2页 / 共4页
第3页 / 共4页
第4页 / 共4页
亲,该文档总共4页全部预览完了,如果喜欢就下载吧!
资源描述
3.31假设称正读和反读都相同的字符序列为“回文”,例如,abba和abcba是回文,abcde 和 ababab 则不是回文。试写一个算法判别读入的一个以 为结束符的字符序列是否是回文。,同时使用栈和队列,每读一个字符到入栈、入队列,待全部读完后,出栈、出队列,判弹出的元素是否相等即可,3.15假设以静态分配的顺序存储结构实现一个双向栈,既在一维数组的存储空间存在着两个栈,它们的栈底分别设在数组的两个端点。试编写实现这个双向栈的三个操作:初始化inistack(tws)、入栈push(tws,i,x)、和出栈pop(tws,i)的算法,其中i 为0或1,用以分别指示设在数组两端的两个栈,并讨论按过程(正/误状态变量可设为变参)或函数设计这些操作算法各有什么优缺点。,3.6假设称正读和反读都相同的字符序列为“回文”,例如,abba和abcba是回文,abcde 和 ababab 则不是回文。试写一个算法判别读入的一个以 为结束符的字符序列是否是回文。,3.31 int Palindrome_Test(char *str) /判别字符串参数是否回文序列,是则返回1,否则返回0 InitStack(S);InitQueue(Q); char *p=str; while(*p!=,3.15假设以静态分配的顺序存储结构实现一个双向栈,既在一维数组的存储空间存在着两个栈,它们的栈底分别设在数组的两个端点。试编写实现这个双向栈的三个操作:初始化inistack(tws)、入栈push(tws,i,x)、和出栈pop(tws,i)的算法,其中i 为0或1,用以分别指示设在数组两端的两个栈,并讨论按过程(正/误状态变量可设为变参)或函数设计这些操作算法各有什么优缺点。,3.6假设称正读和反读都相同的字符序列为“回文”,例如,abba和abcba是回文,abcde 和 ababab 则不是回文。试写一个算法判别读入的一个以 为结束符的字符序列是否是回文。,3.31 int Palindrome_Test()/判别输入的字符串是否回文序列,是则返回1,否则返回0 InitStack(S);InitQueue(Q); while(c=getchar()!=) Push(S,c);EnQueue(Q,c); /同时使用栈和队列两种结构 while(!StackEmpty(S) Pop(S,a);DeQueue(Q,b); if(a!=b) return FALSE; /不宜用 return ;/Palindrome_Test,作业7三对角矩阵Ann,非零元逐行存储到一维数组B3n-2中,问ij到k及k到ij变换公式,k=2i+j-3 i=(k+1)/3+1 /代表下取整 j=k-2(k+1)/3+1,
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号