知识大全 数据结构考研分类复习真题 第三章 答案[19]
Posted 序列
篇首语:世事洞明皆学问,人情练达即文章。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 数据结构考研分类复习真题 第三章 答案[19]相关的知识,希望对你有一定的参考价值。
( )A和D是合法序列 B和C 是非法序列
( )设被判定的操作序列已存入一维数组A中
int Judge(char A[]) //判断字符数组A中的输入输出序列是否是合法序列 如是 返回true 否则返回false i= ; //i为下标 j=k= ; //j和k分别为I和字母O的的个数 while(A[i]!= \\ ) //当未到字符数组尾就作 switch(A[i]) case I : j++; break; //入栈次数增 case O : k++; if(k>j)printf( 序列非法\\n ) exit( ); i++; //不论A[i]是 I 或 O 指针i均后移 if(j!=k) printf( 序列非法\\n ) return(false); else printf( 序列合法\\n ) return(true); //算法结束
[算法讨论]在入栈出栈序列(即由 I 和 O 组成的字符串)的任一位置 入栈次数( I 的个数)都必须大于等于出栈次数(即 O 的个数) 否则视作非法序列 立即给出信息 退出算法 整个序列(即读到字符数组中字符串的结束标记 \\ ) 入栈次数必须等于出栈次数(题目中要求栈的初态和终态都为空) 否则视为非法序列
cha138/Article/program/sjjg/201311/22703相关参考
第三章 栈和队列答案 一选择题 BBABDCBDDCDBDDDCBCBDBBBDDDDCAADBBDCBCBACCFCCAAD 二判断题 √√√√×√√√√×√×××√×√×√√
见上题的解答 参见上面题 typedefstructnode elemtypeelemcq[m]; //m为队列最大可能的容量 intfrontrear;
typedefstruct elemtpq[m]; intfrontcount; //front是队首指针count是队列中元素个数 cqnode; &nbs
[题目分析]本题与上面题基本相同现用类C语言给出该双端队列的定义 #definemaxsize typedefstruct datatypeelem[maxsize]; int
#definemaxsize栈空间容量 voidInOutS(ints[maxsize]) //s是元素为整数的栈本算法进行入栈和退栈操作 inttop=;  
s=(LinkedList)malloc(sizeof(LNode))s>data=x;s>next=r>nextr>next=sr=s 牺牲一个存储单元 &n
既不能由输入受限的双端队列得到也不能由输出受限的双端队列得到的输出序列是dbca () () &nbs
本题与上题本质上相同现用类C语言编写入队和出队算法 ()voidEnQueue(LinkedListrearElemTypex) //rear是带头结点的循环链队列的尾指针本算法将元素x插入到
intMaxValue(inta[]intn)//设整数序列存于数组a中共有n个本算法求解其最大值 if(n==)max=a[]; elseifa[n]>MaxValue(an)max=
[题目分析]这是以读入数据的顺序为相反顺序进行累乘问题可将读入数据放入栈中到输入结束将栈中数据退出进行累乘累乘的初值为 PROC test; CONSTmaxsize=; VARs