int CopyStack(SqStack S1,SqStack *S2,SqStack temp);/*本题要求函数*/
时间: 2023-05-25 10:04:10 浏览: 306
CopyStack-crx插件
/**
* 复制栈S1到S2,并返回元素数量
* S1: 待复制的栈
* S2: 复制后的栈
* temp: 临时栈
*/
int CopyStack(SqStack S1, SqStack *S2, SqStack temp)
{
int count = 0; // 计数器,记录元素数量
ElemType e; // 临时变量,保存栈顶元素
// 初始化S2和temp
InitStack(S2);
InitStack(&temp);
// 将S1中的所有元素倒入temp中
while (!StackEmpty(S1))
{
Pop(&S1, &e);
Push(&temp, e);
count++;
}
// 将temp中的所有元素倒入S2中
while (!StackEmpty(temp))
{
Pop(&temp, &e);
Push(S2, e);
}
// 返回元素数量
return count;
}
阅读全文