知识大全 数据结构考研分类复习真题 第三章 答案[4]
Posted 序列
篇首语:知识养成了思想,思想同时又在融化知识。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 数据结构考研分类复习真题 第三章 答案[4]相关的知识,希望对你有一定的参考价值。
四 应用题
栈是只准在一端进行插入和删除操作的线性表 允许插入和删除的一端叫栈顶 另一端叫栈底 最后插入的元素最先删除 故栈也称后进先出(LIFO)表
队列是允许在一端插入而在另一端删除的线性表 允许插入的一端叫队尾 允许删除的一端叫队头 最先插入队的元素最先离开(删除) 故队列也常称先进先出(FIFO)表
用常规意义下顺序存储结构的一维数组表示队列 由于队列的性质(队尾插入和队头删除) 容易造成 假溢出 现象 即队尾已到达一维数组的高下标 不能再插入 然而队中元素个数小于队列的长度(容量) 循环队列是解决 假溢出 的一种方法 通常把一维数组看成首尾相接 在循环队列下 通常采用 牺牲一个存储单元 或 作标记 的方法解决 队满 和 队空 的判定问题
( )通常有两条规则 第一是给定序列中S的个数和X的个数相等 第二是从给定序列的开始 到给定序列中的任一位置 S的个数要大于或等于X的个数
( )可以得到相同的输出元素序列 例如 输入元素为A B C 则两个输入的合法序列ABC和BAC均可得到输出元素序列ABC 对于合法序列ABC 我们使用本题约定的S×S×S×操作序列 对于合法序列BAC 我们使用SS××S×操作序列
三个 CDEBA CDBEA CDBAE
cha138/Article/program/sjjg/201311/22720相关参考
见上题的解答 参见上面题 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
n+ top[]+=top[] 两栈顶指针值相减的绝对值为(或两栈顶指针相邻) ()满 ()空 ()n ()栈底 ()两栈顶指针相