-->
当前位置:首页 > 题库 > 正文内容

函数题: 复制顺序栈【有题解视频】

Luz3年前 (2022-03-24)题库1445
利用temp栈将一个非空栈s1的所有元素按原样复制到另一个栈s2当中去。
### 函数接口定义:
c
int CopyStack(SqStack S1,SqStack *S2,SqStack temp);/*本题要求函数*/

其中 S1 代表源栈, S2 代表目的栈,temp代表中间栈。

### 裁判测试程序样例:
c
在这里给出函数被调用进行测试的例子。例如:
#include"stdio.h"
typedef char DataType;
#define STACKSIZE 100
typedef struct{
DataType items[STACKSIZE];
int top;
}SqStack;
int InitStack(SqStack *S); /* 细节在此不表 */
int StackEmpty(SqStack S); /* 细节在此不表 */
int Push(SqStack *S,DataType e); /* 细节在此不表 */
int Pop(SqStack *S,DataType *e); /* 细节在此不表 */
int TraverseStack(SqStack S); /* 细节在此不表 */

int CopyStack(SqStack S1,SqStack *S2,SqStack temp); /*本题要求补充函数*/

int main()
{
int i,input;
SqStack S1,S2,temp; /* 定义顺序栈*/
InitStack(&S1); /* 初始化建空栈*/
InitStack(&S2);
InitStack(&temp);
for(i=0;;i++)
{
scanf("%d",&input);
if(input==-1)break;
Push(&S1,input);
}
CopyStack(S1,&S2,temp);
TraverseStack(S2); /* 打印*/
return 0;
}
/* 请在这里填写答案 */


### 输入样例:
这里给出一组输入,输入-1结束。例如:
in
1 2 3 4 5 6 -1


### 输出样例:
这里给出相应的输出。例如:
out
1 2 3 4 5 6







答案:若无答案欢迎评论

#写在前面的话#
*提供题解视频,是为了帮助大家掌握算法的思想,在今后的编程、考试、面试中,换了语言,换了编译器,换了开发平台,都能重现这种思想,从而编写出任意语言任意编译器任意开发平台下面的这种算法的代码来,所以对于一打开题解报告,就直接拖到视频最后看参考代码的做法,我们非常不赞同,也不符合我们制作PPT录制讲解视频的初衷,希望大家体谅我们的苦心。*

https://www.bilibili.com/video/BV1Z44y1N7eH/

![SqStack1.png](~/1b04f500-2ab9-46a5-ae11-19d9da846cf1.png)

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。