知识大全 数据结构考研分类复习真题 第三章 答案[11]
Posted 元素
篇首语:登山则情满于山,观海则意溢于海。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 数据结构考研分类复习真题 第三章 答案[11]相关的知识,希望对你有一定的参考价值。
( )每个栈仅用一个顺序存储空间时 操作简便 但分配存储空间小了 容易产生溢出 分配空间大了 容易造成浪费 各栈不能共享空间
( )多个栈共享一个顺序存储空间 充分利用了存储空间 只有在整个存储空间都用完时才能产生溢出 其缺点是当一个栈满时要向左 右栈查询有无空闲单元 如果有 则要移动元素和修改相关的栈底和栈顶指针 当接近栈满时 查询空闲单元 移动元素和修改栈底栈顶指针的操作频繁 计算复杂并且耗费时间
( )多个链栈一般不考虑栈的溢出(仅受用户内存空间限制) 缺点是栈中元素要以指针相链接 比顺序存储多占用了存储空间
设top 和top 分别为栈 和 的栈顶指针
( )入栈主要语句
if(top top == ) printf( 栈满\\n ); exit( ); case :top ++ SPACE[top ]=x; //设x为入栈元素 case :top SPACE[top ]=x;
出栈主要语句
case if(top == ) printf( 栈空\\n ) exit( ) top return(SPACE[top + ]) //返回出栈元素 case if(top ==N)printf( 栈空\\n ) exit( ) top ++ return(SPACE[top ]) //返回出栈元素
( )栈满条件 top top =
栈空条件 top = 并且top =N //top = 为左栈空 top =N为右栈空
设顺序存储队列用一维数组q[m]表示 其中m为队列中元素个数 队列中元素在向量中的下标从 到m 设队头指针为front 队尾指针是rear 约定front指向队头元素的前一位置 rear指向队尾元素 当front等于 时队空 rear等于m 时为队满 由于队列的性质( 删除 在队头而 插入 在队尾) 所以当队尾指针rear等于m 时 若front不等于 则队列中仍有空闲单元 所以队列并不是真满 这时若再有入队操作 会造成假 溢出 其解决办法有二 一是将队列元素向前 平移 (占用 至rear front ) 二是将队列看成首尾相连 即循环队列( m ) 在循环队列下 仍定义front=rear时为队空 而判断队满则用两种办法 一是用 牺牲一个单元 即rear+ =front(准确记是(rear+ )%m=front m是队列容量)时为队满 另一种解法是 设标记 方法 如设标记tag tag等于 情况下 若删除时导致front=rear为队空 tag= 情况下 若因插入导致front=rear则为队满
cha138/Article/program/sjjg/201311/22712相关参考
第三章 栈和队列答案 一选择题 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