#include<stdio.h>
typedef int datetype;
typedef struct
{
datetype dui[100];
int rear;//队尾指针
int front;//队头指针
int count;//计数器
}zjr;
void duistart(zjr* q)
{
q->rear=0;
q->front=0;
q->count=0;
}
int kong(zjr q)//初始化
{
if(q.count!=0)return 1;
else
return 0;
}
int rudui(zjr* q,datetype x)//入队
{
if(q->count>0&&q->rear==q->front)
{
printf("队列已满!");
return 0;
}
else
{
q->dui[q->rear]=x;
q->rear=(q->rear+1)%100;
q->count++;
return 1;
}
}
int chudui(zjr* q,datetype* x)//出队
{
if(q->count==0)
{
printf("队列已经空了,没有可以出的");
return 0;
}
else
{
*x=q->dui[q->front];
q->front=(q->front+1)%100;
q->count--;
return 1;
}
}
int getdui(zjr q,datetype* x)//取元素
{
if(q.count==0)
{
printf("队列已空,没有元素可取!");
return 0;
}
else
{
*x=q.dui[q.front];
return 1;
}
}
int main()
{
zjr q;
int i,x;
duistart(&q);
for(i=0;i<10;i++)
{
rudui(&q,i);
}
for(i=0;i<10;i++)
{
chudui(&q,&x);
printf("%d ",x);
}
}
C语言 顺序队列
最新推荐文章于 2024-08-23 11:07:46 发布