队列代码
Posted 伙上伴冰
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了队列代码相关的知识,希望对你有一定的参考价值。
#include <stdio.h>#include <stdlib.h>
//队列特点:先进先出(FIFO)
//队列:队首 队尾
//队列:线性队列 链表队列
//定义链表队列的节点
typedef struct node
int data;
struct node *next;
node;
//定义队列
typedef struct queue
node * front;
node * tail;
queue;
void CreateQueue(queue *q)
node* head=(node*)malloc(1*sizeof(node));
head->data=-1;
head->next=NULL;
q->front=q->tail=head;
int empty(queue *q)
if(q->front->next==NULL)
return 1;
else
return 0;
void push(queue *q,int _data)
node* tmp=(node*)malloc(1*sizeof(node));
tmp->data=_data;
tmp->next=NULL;
q->tail->next=tmp;
q->tail=tmp;
void pop(queue *q)
if(!empty(q))
node *tmp=q->front->next;
q->front->next=tmp->next;
printf("%d\\t",tmp->data);
free(tmp);
tmp=NULL;
int main(int argc, char *argv[])
queue q1;
CreateQueue(&q1);
int i;
for(i=0;i<5;i++)
push(&q1,i+1);
pop(&q1);
pop(&q1);
pop(&q1);
pop(&q1);
pop(&q1);
pop(&q1);
return 0;
以上是关于队列代码的主要内容,如果未能解决你的问题,请参考以下文章