美文网首页
数据结构里循环队列

数据结构里循环队列

作者: 梦在原点 | 来源:发表于2017-11-12 20:59 被阅读0次
#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>
#define MAX 10
typedef struct Queue
{
    int* pBase;//可以看作数组
    int front;
    int rear;
}QUEUE;

void init(QUEUE*);
bool enQueue(QUEUE*,int);
void travel_queue(QUEUE*);
bool full_queue(QUEUE*);

int main(void)
{
    QUEUE Q;
    init(&Q);
    enQueue(&Q,1);
    enQueue(&Q,2);
    enQueue(&Q,3);
    enQueue(&Q,4);
    enQueue(&Q,5);
    enQueue(&Q,6);
    travel_queue(&Q);
    return 0;
}

void init(QUEUE *pQ)
{
    pQ->pBase=(int *)malloc(sizeof(int )*MAX);//开辟队列且定义长度,长度是MAX
    pQ->front=0;
    pQ->rear=0;
}

bool full_queue(QUEUE* pQ)
{
    if((pQ->rear+1)%MAX==pQ->front)
        return true;
    else
        return false;
}

bool enQueue(QUEUE* pQ,int val)
{
    if(full_queue(pQ))
    {
        return false;
    }
    else
    {
        pQ->pBase[pQ->rear]=val;
        pQ->rear=(pQ->rear+1)%MAX;
        return true;
    }
}

void travel_queue(QUEUE* pQ)
{
    int i=0;
    i=pQ->front;
    while(i!=pQ->rear)
    {
        printf("%d \n",pQ->pBase[i]);
        i=(i+1)%MAX;
    }
    return;
}

相关文章

  • 数据结构-队列(Queue)-FIFO

    数据结构-队列(Queue)-FIFO 队列的接口设计 双端队列-Deque 循环队列-CircleQueue 双...

  • LeetCode 622. 设计循环队列

    622. 设计循环队列 设计你的循环队列实现。 循环队列是一种线性数据结构,其操作表现基于 FIFO(先进先出)原...

  • 数据结构里循环队列

  • leetcode622.设计循环队列

    题目链接 题解: 在我的文章数据结构之——队列与循环队列 中,有关于循环队列的设计,包括本题没有考虑过的resiz...

  • java.util.ArrayDeque源码解析

    准备知识 因为ArrayDeque使用了循环队列,所以首先要了解循环队列数据结构的原理。https://www.j...

  • 常见的数据结构

    常见的数据结构有: 数组 链表单链表、双向链表、循环链表、双向循环链表、静态链表 栈顺序栈、链式栈 队列普通队列、...

  • C语言数据结构——线性表链式循环队列(链表实现方式)

    队列相关知识及操作请参看上一章 C语言数据结构——线性表循环队列(动态数组实现方式) 一、链式队列 链式队列 : ...

  • 622 设计循环队列

    题目描述: 设计你的循环队列实现。 循环队列是一种线性数据结构,其操作表现基于 FIFO(先进先出)原则并且队尾被...

  • LeetCode 622——设计循环队列

    1. 题目 设计你的循环队列实现。 循环队列是一种线性数据结构,其操作表现基于 FIFO(先进先出)原则并且队尾被...

  • Leetcode622. 设计循环队列

    题目 设计你的循环队列实现。 循环队列是一种线性数据结构,其操作表现基于 FIFO(先进先出)原则并且队尾被连接在...

网友评论

      本文标题:数据结构里循环队列

      本文链接:https://www.haomeiwen.com/subject/ctbomxtx.html