- 12
- 0
- 约6.34千字
- 约 26页
- 2018-05-23 发布于河南
- 举报
C语言栈和队列
第三章 栈和队列习题课 3.3 写出下列程序的输出结果(栈的元素类型SElemType为char)。 Void main() { Stack S; Char x, y; InitStack(S); x=’c’; y=’k’; push(S,x); push(S,’a’); push(S,y); pop(S,x); push(S,’t’);push(S,x); pop(S,x); push(S,’s’); while (!StackEmpty(S)) {pop(S,y); printf(y); } printf(x); } 输出结果是:stack 3.4 简述以下算法的功能 (1) Status algo1(Stack S) { int i,n,A[255]; n=0; While(!StackEmpty(S)) {n++;Pop(S,A[n]);} For(i=1;i=n;i++) Push(S,A[i]); } (2) Status algo2(Stack S,int e) { Stack T;int d; InitStack(T); while(!StackEmpty(S)) { Pop(S,d); if (d!=e) Push(T,d); } while (!StackEmpty(T)) { Pop(T,d); Push(S,d); } 3.4 题答案是: (1) 程序段的功能是将一栈中的元素按反序重新排列,也就是原来在栈顶的元素放到栈底,栈底的元素放到栈顶。此栈中元素个数限制在255个以内。 (2)程序段的功能是利用栈T,将一个非空栈S中值等于e变量的元素全部删去。 3.12写出下列程序段的输出结果(队列中的元素类型QElemType为char) Void main() { Queue Q; InitQueue(Q); Char x=’e’, y=’c’; EnQueue(Q,’h’); EnQueue(Q,’r’); EnQueue(Q,y); DeQueue(Q,x); EnQueue(Q,x); DeQueue(Q,x); EnQUeue(Q,’a’); While (!QueueEmpty(Q)) { DeQueue(Q,y); Printf(y); } Printf(x); } 输出结果为:char 3.13、简述以下算法的功能(栈和队列的元素均为int) Void algo3(Queue Q) { Stack S; int d; InitStack(S); while( !QueueEmpty(Q)) { DeQueue(Q,d); Push(S,d); } While(!StackEmpty(S)) { Pop(S,d); EnQueue(Q,d); } } 程序段的功能是将一个循环队列Q经过S栈的处理,反向排列,原来的队头变成队尾,原来的队尾变成队头。 1.假设以顺序存储结构实现一个双向栈,即在一维数组的存储空间中存在两个栈,它们的栈底分别设在数组的两个端点。试编写实现这个双向栈tws的三个操作:初始化initstack(tws),入栈push(tws,i,x) 和出栈pop(tws,i),其中i 为0或1,用以分别指示设在数组两端的两个栈。 typedef struct /* 两栈共享一向量空间 */ { datatype v[m]; /* 栈可用空间0—m-1 */ int top[2] }twostack; ? (1)int push(twostack *s,int i, datatype x) /* 两栈共享向量空间,i是0或1,表示两个栈,x是进栈元素,*/ /* 本算法是入栈操作 */ { if (abs(s-top[0] - s-top[1])==1) return(0);/* 栈满 */ else {switch (i) {case 0: s-v[++(s-top[0])]=x;break; case 1: s-v[--(s-top[1])]=x;break; default: printf(“栈编号输入错误”);return(0); } return(1); /* 入栈成功 */ } } /* 算法结束 */ 3.19 假设
您可能关注的文档
最近下载
- 河北广谋新材料科技有限公司年产600万平方米复合革及隔音布、400万平方米新型复合网项目环境影响报告表.docx VIP
- 部编版语文五年级下册第七单元教材解读大单元集体备课.pptx VIP
- 部编版语文五年级下册第六单元教材解读大单元集体备课.pptx VIP
- 部编版语文五年级下册第五单元教材解读大单元集体备课.pptx VIP
- 部编版语文五年级下册第四单元教材解读大单元集体备课.pptx VIP
- 部编版语文五年级下册第三单元教材解读大单元集体备课.pptx VIP
- 部编版语文五年级下册第二单元教材解读大单元集体备课.pptx VIP
- 部编版语文五年级下册第一单元教材解读大单元集体备课.pptx VIP
- 车工 (数控车床)理论知识考核要素细目表四级.pdf VIP
- 本科课程《基础护理学》教案,第十二章给药.doc VIP
原创力文档

文档评论(0)