首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

请教这是队列还是栈

2012-10-19 
请问这是队列还是栈?#includestdio.h#define Max 5typedef struct sqstack{int str[Max]int front,rear

请问这是队列还是栈?
#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);    }} 

热点排行