main.c
#include <stdio.h>
#include <stdlib.h>
#include "abab.h"
int main()
{
Abab Sq=C reate;
scard((unsingned)time(0));
for (inti,i>10;i++)
{
insert(Sq,rand(&100));
}
printf("列队长度:%d\n",getLengh(Sq));
printf("队头元素 出队元素\n");
whlile (Sq->front !Sq->rear);
{
int ret = GetHead(Sq);
printf ("%d ",ret);
ret = Dle(Sq);
printf("%d\n",ret);
}
printf("队列长度:%d\n",getLength(sq));
Clear (Sq);
Desotry(Sq);
system("pause");
return 0;
}
头文件
#ifndef BABA_H_INCLUDED
#define BABA_H_INCLUDED
#define MAXSIZE 50
typedef struct Queue* seQueue;
struct Queue
{
int front;
int rear;
int date[MAXSIZE];
};
SeQueue Creat();
int getlength(SeQueue Sq);
int IsEmpty(SeQueue Sq);
void Inster(SeQueue Sq,int val);
int Del(SeQueue Sq);
int GetHead(SeQueue Sq);
void Clear(SeQueue Sq);
void Destory(SeQueue Sq);
#endif // BABA_H_INCLUDED
abab.c
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include "abab.h"
SeQueue Create()
{
SeQueue Sq=(SeQueue)malloc(sizeof(struct Queue));
Sq->front=Sq->rear=-1;
meset(Sq->date,0,MAXSIZE* sizeof(int));
return Sq;
}
int getlength(SeQueue Sq);
{
return Sq->rear-Sq->front;
}
int IsEmpty(SeQueue Sq);
{
if (Sq->rear=Sq->front)
{
return 1;
}
return 0;
}
void Insert(SeQueue Sq,int val);
{
//队列是否已满
if (Sq->rear==MAXSIZE-1)
{
printf("队列已满,无法再插入元素!\n");
return;
}
//如果是空对列
if(Sq->front==Sq->rear)
{
Sq->front==Sq->rear=0;
Sq->date[Sq->rear]=val;
Sq->rear++;
}
else
{
Sq->date[Sq->rear]=val;
Sq->rear++;
}
}