level 6
三三三三荣君
楼主
#include<stdio.h>
#include<malloc.h>
struct Data//链表
{
int data;
Data* next;
};
struct Queue//队列
{
int Size;
int Max;
Data* Front;//头
Data* Rear;//尾
};
Queue* CreateQueue(int Max)//创立队列
{
Queue* Q;
Q=(Queue*)malloc(sizeof(Queue));
Q->Max=Max;
Q->Size=0;
Q->Front=NULL;
Q->Rear=NULL;
return Q;
}
void EnQueue(Queue* Q)//入队
{
if(Q->Size!=Q->Max)
{
Data* newdata=(Data*)malloc(sizeof(Data));
scanf("%d",&newdata->data);
if(Q->Front==NULL)
Q->Front=newdata;
if(Q->Rear==NULL)
Q->Rear=newdata;
else
{
Q->Rear->next=newdata;
Q->Rear=newdata;
}
Q->Size++;
}
else
printf("FullQueue");
}
int IsEmpty(Queue* Q)//是否为空队列
{
return Q->Size==0;
}
void DeQueue(Queue* Q)//出队
{
if(!IsEmpty(Q))
{
Data* Temp=Q->Front;
Q->Front=Temp->next;
free(Temp);
Q->Size--;
}
else
printf("EmptyQueue");
}
void MakeEmpty(Queue* Q)//使队列空
{
while(!IsEmpty(Q))
{
DeQueue(Q);
}
Q->Rear=NULL;
Q->Front=NULL;
Q->Size=0;
}
void ShowQueue(Queue* Q)//显示队列
{
Data* Temp=Q->Front;
while(Temp!=Q->Rear->next)
{
printf("%d\n",Temp->data);
Temp=Temp->next;
}
}
int main()
{
Queue* Q=CreateQueue(4);
return 0;
}
看书看到书上用数组实现的队列,我就想试试用链表实现
求大神们指点指点是否不当,顺便吐槽一下中译本的中文词语实在是莫名其妙
2014年01月21日 14点01分
1
#include<malloc.h>
struct Data//链表
{
int data;
Data* next;
};
struct Queue//队列
{
int Size;
int Max;
Data* Front;//头
Data* Rear;//尾
};
Queue* CreateQueue(int Max)//创立队列
{
Queue* Q;
Q=(Queue*)malloc(sizeof(Queue));
Q->Max=Max;
Q->Size=0;
Q->Front=NULL;
Q->Rear=NULL;
return Q;
}
void EnQueue(Queue* Q)//入队
{
if(Q->Size!=Q->Max)
{
Data* newdata=(Data*)malloc(sizeof(Data));
scanf("%d",&newdata->data);
if(Q->Front==NULL)
Q->Front=newdata;
if(Q->Rear==NULL)
Q->Rear=newdata;
else
{
Q->Rear->next=newdata;
Q->Rear=newdata;
}
Q->Size++;
}
else
printf("FullQueue");
}
int IsEmpty(Queue* Q)//是否为空队列
{
return Q->Size==0;
}
void DeQueue(Queue* Q)//出队
{
if(!IsEmpty(Q))
{
Data* Temp=Q->Front;
Q->Front=Temp->next;
free(Temp);
Q->Size--;
}
else
printf("EmptyQueue");
}
void MakeEmpty(Queue* Q)//使队列空
{
while(!IsEmpty(Q))
{
DeQueue(Q);
}
Q->Rear=NULL;
Q->Front=NULL;
Q->Size=0;
}
void ShowQueue(Queue* Q)//显示队列
{
Data* Temp=Q->Front;
while(Temp!=Q->Rear->next)
{
printf("%d\n",Temp->data);
Temp=Temp->next;
}
}
int main()
{
Queue* Q=CreateQueue(4);
return 0;
}
看书看到书上用数组实现的队列,我就想试试用链表实现
求大神们指点指点是否不当,顺便吐槽一下中译本的中文词语实在是莫名其妙