读书人

请教这是队列还是栈

发布时间: 2012-10-19 16:53:35 作者: rapoo

请问这是队列还是栈?
#include<stdio.h>
#define Max 5
typedef struct sqstack
{
int str[Max];
int front,rear;
}stach;
int insert(stach*s,int x)
{
if(s->rear==Max-1)
return 0;
s->rear++;
s->str[s->rear]=x;
return 1;
}
int ensert(stach*s,int *x)
{
if(s->rear==s->front)
return 0;
s->front++;
*x=s->str[s->front];
return 1;
}
main()
{
int i,x;
stach s;
s.front=s.rear=-1;
for(i=0;i<Max;i++)
{
scanf("%d",&x);
insert(&s,x);
}
for(i=0;i<Max;i++)
{ ensert(&s,&x);
printf("%d ",x);

}
}

[解决办法]
尼玛,这是谁写的代码,看到我顿时凌乱了。。。

定义了一个叫栈的结构体,结构体里是一个队列!

完全没必要这样写,帮你修改一下,代码如下:

C/C++ code
#include<stdio.h>#define Max 5    int str[Max];    int front,rear;int insert(int x){    if(rear==Max-1)        return 0;    rear++;    str[rear]=x;    return 1;}int ensert(int *x){    if(rear==front)        return 0;    front++;    *x=str[front];    return 1;}main(){    int i,x;    front=rear=-1;    for(i=0;i<Max;i++)    {        scanf("%d",&x);        insert(x);    }    for(i=0;i<Max;i++)    {             ensert(&x);        printf("%d ",x);    }} 

读书人网 >C语言

热点推荐