正在加载图片...
2.【统考书P604-15】假设一个数组squm]存放循环队列的元素。若要使这m个分量都得到利用,则需 另一个标志tag,以t鹆g为θ或1来区分尾指针和头指针值相同时队列的状态是“空”还是“满”。试编写 相应的入队和出队的算法。 解:这就是解决队满队空的三种办法之①设置一个布尔变量以区别队满还是队空(其他两种见简答题) 思路:一开始队空,设tag=0,若从rear一端加到与 front指针相同时,表示入队已满,则令tag=1; 若从 front一端加到与rear指针相同时,则令ag=0,表示出队已空 3.【严题集3.31③】试写一个算法判别读入的一个以‘@’为结束符的字符序列是否是“回文” 答:编程如下 int Palindrome Test(∥判别输入的字符串是否回文序列,是则返回1,否则返回0 InitStack (S) InitQueue(Q) while((c=getchar)I=@) Push(S,c), EnQueue(Q,c);∥同时使用栈和队列两种结构 while(! Stack Empty(s) Pop(S, a), DeQueue(Q, b)) if(al=b)return ERRO return oK i//Palindrome Test9 2. 【统考书 P60 4-15】假设一个数组 squ[m]存放循环队列的元素。若要使这 m 个分量都得到利用,则需 另一个标志 tag,以 tag 为 0 或 1 来区分尾指针和头指针值相同时队列的状态是“空”还是“满”。试编写 相应的入队和出队的算法。 解:这就是解决队满队空的三种办法之① 设置一个布尔变量以区别队满还是队空(其他两种见简答题); 思路:一开始队空,设 tag=0,若从 rear 一端加到与 front 指针相同时,表示入队已满,则令 tag=1; 若从 front 一端加到与 rear 指针相同时,则令 tag=0,表示出队已空。 3.【严题集 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 ERROR; } return OK; }//Palindrome_Test
<<向上翻页
©2008-现在 cucdc.com 高等教育资讯网 版权所有