数据结构的一个考试题,关于栈的简单题,给看看,今天就用,快。(50分)

  • 主题发起人 主题发起人 zmj71
  • 开始时间 开始时间
Z

zmj71

Unregistered / Unconfirmed
GUEST, unregistred user!
设栈S={1,2,3,4,5,6,7},其中7为栈顶元素,请写出下列函数的输出结果。
#define Max 7
void algo(int s[],int top)
{int i=0,top1=0,f=0,r=0;
int q[Max],t[Max]
while(top>0)
if ((i=1-i)!=0
t[top1++]=s[--top];
else
q[r++]=s[--top];
while (f<r)
s[top++]=q[f==};
while(top1>0)
s[top++]=t[--top1];
printf("/n");
while(top>0)
printf("%d,",s[s[--top]);
}
 
7 6 5 4 3 2 1 7 6 5 4 3 2 1
 
是一遍还是两遍输出
7,
6,
5,
4,
3,
2,
1,
 
刚才匆忙有部分小错误,但无大关系
#define Max 7
void algo(int s[],int top)
{int i=0,top1=0,f=0,r=0;
int q[Max],t[Max];
while(top>0)
if ((i=1-i)!=0)
t[top1++]=s[--top];
else
q[r++]=s[--top];
while(f<r)
s[top++]=q[f++];
while(top1>0)
s[top++]=t[--top1];
printf("/n");
while(top>0)
printf("%d,",s[--top]);
}
 
还是7, 6, 5, 4, 3, 2, 1, 7, 6, 5, 4, 3, 2, 1
 
1,3,5,7,6,4,2
 
7 6 5 4 3 2 1
 
后退
顶部