队列定义:队列简称队。是一种操作受限的线性表,只允许在表的一端进行插入,而在表的另一端进行删除。向队列中插入元素称为入队或进队;删除元素称为出队或离队。其操作特性为先进先出(First In First Out,FIFO),并且只允许在队尾进,队头出。
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct linknode
{
struct linknode* next;
void* data;
};
struct linkqueue
{
struct linknode* start;
struct linknode* end;
int size;
};
//初始化
struct linkqueue* init_queue()
{
struct linkqueue* myqueue=(struct linkqueue*)malloc(sizeof(struct linkqueue));
if(myqueue==NULL)
{
return NULL;
}
myqueue->end = NULL;
myqueue->start = NULL;
myqueue->size = 0;
return myqueue;
}
//入队
void insetnode(struct linkqueue* myqueue, void* data)
{
if(myqueue==NULL||data==NULL)
return NULL;
struct linknode* node = (struct linknode*)malloc(sizeof(struct linknode));