c语言实现队列

来源:互联网 发布:招淘宝兼职是真的吗 编辑:程序博客网 时间:2024/05/29 04:45

队列的介绍

队列(Queue),是一种线性存储结构。它有以下几个特点:
(01) 队列中数据是按照"先进先出(FIFO, First-In-First-Out)"方式进出队列的。

(02) 队列只允许在"队首"进行删除操作,而在"队尾"进行插入操作。


1. 队列的示意图


2. 出队列

3. 入队列


实现代码:

#include <stdio.h>#include <stdlib.h>typedef struct node{int data;struct node *pNext;}NODE;NODE *head = NULL; //队首NODE *end = NULL; //队尾int in_queue(void) //入队{int data = 0;printf("输入你要入队的元素->");scanf("%d", &data);NODE *node = (NODE *)malloc(sizeof(NODE));node->data = data;if(end == NULL){node->pNext = NULL;head = node;end = node;}else{node->pNext = NULL;end->pNext = node;end = node;}return data;}int out_queue(void) //出队{if(head == NULL)return -1;NODE *temp = head;int data = head->data;head = head->pNext;free(temp);return data;}int main(){int i;for(i = 0; i < 5; i++){printf("%d--入队\n", in_queue());}printf("***************************************************\n");for(i = 0; i < 5; i++){printf("%d--出队\n", out_queue());}return 0;}


效果:

输入你要入队的元素->11--入队输入你要入队的元素->22--入队输入你要入队的元素->33--入队输入你要入队的元素->44--入队输入你要入队的元素->55--入队***************************************************1--出队2--出队3--出队4--出队5--出队


0 0