解析 解:算法基本思想:先将栈中元素出栈运算移至队列中,再将队列中元素出队列移至栈中。 void reverse(Stack &st) { Queue sq; ElemType x; InitQueue(sq) while(!StackEmpty(st) { pop(st,x) EnQueue(sq,x); } while(!QueueEmpty(sq) { DeQueue(sq,x); Push(st,x); } DestroyQueue(sq); }...
算法思想很简单,就是输入字符串依次入队列b,然后在把队列中元素依次做出对操作并把返回值入栈a,然后再依次出栈并把返回值入队列c。最后输出逆置操作前,即b中的元素; 输出逆置操作后,即c中的元素;代码如下://---#include #include typedef struct node{ char data; struct node *next;}node;typedef struct {...
解:假设采用循环队列。建立一个临时栈tmpst,将指定队列qu中的所有元素出队并进栈到 tmpst栈中,这样qu队列为空,再将栈 tmpst中的所有元素出栈并进队到qu队中这样qu队列中的内容发生了逆转。对应算法如下。void Reverse(SqQueue &qu){ ElemType x;SqStack tmpst;//定义临时栈InitStack(tmpst);//初始化栈 tmp...
2021年西南交通大学唐山研究生院959数据结构考研核心题库之算法设计题精编利用两个栈S1和S2模拟一个队列,写出入队和出队的算法(可利用栈的基本操作)
(本题10分)设计一个算法Reverse,利用环形队列和顺序栈的基本运算将指定队列中的内容逆置。相关知识点: 试题来源: 解析 (10分)voidReverse(SqQueue*&q){ElemTypex;SqStackst;InitStack(&st);while(!QueueEmpty(q)){deQueue(q,x);Push(&st,x);}while(!StackEmpty(&st)){Pop(&st,x);enQueue(q,x);}}...
1.设计一个判别表达式中括号是否配对的算法,采用( )数据结构最佳。 A、顺序表 B、链表 C、栈 D、队列 点击查看答案进入小程序搜题 你可能喜欢 有下列行为之一的,对有关责任人员,给予记过或者记大过处分;情节较重的,给予降级或者撤职处分;情节严重的,给予开除处分:(1)涂改、伪造档案的;(2)擅自从档案中抽取、...
设计一个算法利用顺序栈判断一个字符串是否是对称串。所谓对称串是指从左向右读和从右向左读的序列相同。并在VC++程序中实现。 同样是判断 “回文”,使用了不同的结构。第二章咱们使用循环链表,这次使用栈来试试,体会不同结构处理问题的异同。 算法设计思路: 字符串 str 的所有元素依次进栈,产生的出栈序...
百度试题 结果1 题目设计一个迷宫求解的算法,采用 ( ) 数据结构最佳。 A. 线性表的链式存储结构 B. 栈 C. 队列 D. 线性表的顺序存储结构 相关知识点: 试题来源: 解析 B 反馈 收藏
(提示:对表达式进行扫描,遇‘(’进栈,遇‘)’退掉栈顶的‘(’,表达式被扫描完毕,栈为空) 3、假设以带头结点的循环链表表示队列,并只设一个指针指向队尾,编写相应的置队空、入队和出队算法。 要求:掌握栈和队列的数据结构的特点;熟练掌握在两种存储结构上实现栈和队列的基本运算;学会利用栈和队列解决一些实...
百度试题 结果1 题目设计一个判断表达式时,左右括号是否配对出现的算法,采用( )数据结构最佳。 A. 顺序表 B. 单链表 C. 队列 D. 栈 相关知识点: 试题来源: 解析 D 反馈 收藏