//C++ 对列的基本预算
#include <iostream>
using namespace std;
typedef struct node
{
int data;
struct node *next;
}node;
typedef struct quene
{
node *head;
node *end;
}quene;
/*
创建一个空链式队列
*/
int Create(struct quene *s)
{
s->head = (node*)malloc(sizeof(node));//申请头节点
if (s->head == NULL)
{
cout<<"Initial Failure"<<endl;
return (0);
}
else
{
s->end = s->head;
s->head->next = NULL;
return(1);
}
}
/*
清空队列
*/
int DestoryQuene(struct quene *s)
{
while(s->head!=NULL)
{
s->end = s->head->next;
free(s->head);
s->head = s->end;
}
return (1);
}
/*
队列的入队操作
*/
quene* InsertQuene(struct quene *s,int x)
//x为要插入的元素
{
struct node *p;
p = (node*)malloc(sizeof(node)); //为插入的值分配一个内存
p->data =x;
p->next =NULL;
s->end->next =p;
s->end = p;
return s;
}
/*
队列的出队操作
*/
quene* DeleteQuene(struct quene *s)
//x为要删除的元素
{
node *p;
p = s->head->next;
s->head = p;
free(p);
return (s);
}
/*
求队列的长度
*/
int LengthQuene(struct quene *s)
{
int i = 0
node *p;
p = s->head->next;
while(p != NULL)
{
i++;
p= p->next;
}
return (i);
}