//
//  main.cpp
//  circleQueue
//
//  Created by zhou on 14-6-19.
//  Copyright (c) 2014年 zhou. All rights reserved.
//
#define Max 50
typedef struct        //定义大小为50的队列结构体
{
    int elem[Max];
    int front,rear;
}Cirqueue;

void Init(Cirqueue &q) //初始化
{
    q.front = q.rear = 0;
}

bool empty(Cirqueue &q) //队空
{
    if(q.front == q.rear)
        return true;
    else
        return false;
}

bool enqueue(Cirqueue &q,int x)//入队
{
    if((q.rear+1)%Max == q.front)
        return false;
    q.elem[q.rear] = x;
    q.rear = (q.rear+1)%Max;
    return true;
}

bool dequeue(Cirqueue &q,int &x)//出队
{
    if(empty(q)) return false;
    x = q.elem[q.front];
    q.front = (q.front+1)%Max;
    return true;
}
#include <iostream>
using namespace std;
int main(int argc, const char * argv[])
{
    Cirqueue q;
    Init(q);
    for(int i = 0;i<10;i++)
        enqueue(q, i);
    for(int i = 0;i<10;i++)
    {
        int x;
        dequeue(q, x);
        cout<<x<<" ";
    }
    cout<<endl;
    return 0;
}

 

 posted on 2014-06-19 17:57  Clivia_zhou  阅读(146)  评论(0编辑  收藏  举报