队列代码

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;

以上是关于队列代码的主要内容,如果未能解决你的问题,请参考以下文章

使用队列伪代码实现堆栈

RabbitMQ---延迟队列,整合springboot

栈与队列:链队列算法+可执行代码

数据结构 队列

栈与队列:循环队列算法+可执行代码

RabbitMQ的动态创建交换机、队列、绑定、死信队列,延迟队列代码实现