C语言队列实现

来源:互联网 发布:c语言最大的数据类型 编辑:程序博客网 时间:2024/06/06 01:49

一,简介

开发环境是VC6.0,实现了一个基于C语言的队列。主要功能,入队、出队、显示当前队列元素。

二,代码实现

//队列演示#include<stdio.h>#define QUEUE_LENGTH 100//仅能处理非负整数struct Queue {    int element[QUEUE_LENGTH];    int head;    int tail;};int QueueIn(struct Queue* p,int num){    //满了    if(p->tail>QUEUE_LENGTH-1)    {        return -1;    }    p->element[p->tail]=num;    p->tail++;    return 1;}int QueueOut(struct Queue* p){    if(p->head==p->tail)        return -1;    return  p->element[p->head++];}void PrintQueue(struct Queue* p){    int position=p->head;    while(position!=p->tail)    {        printf("%d ",p->element[position]);        position++;    }    printf("\n");}int main(){    //初始化    struct Queue queue;    queue.head=0;    queue.tail=0;    QueueIn(&queue,1);    QueueIn(&queue,2);    PrintQueue(&queue);    QueueOut(&queue);    PrintQueue(&queue);    QueueOut(&queue);    PrintQueue(&queue);    QueueOut(&queue);    PrintQueue(&queue);    QueueIn(&queue,3);    PrintQueue(&queue);    return 1;}