您的位置:首页 > 理论基础 > 数据结构算法

数据结构_循环队列

2014-10-07 22:38 197 查看
#include<iostream>

#include<cstdlib>

using namespace std;

const int maxSize = 50;

typedef struct 

{

        int data[maxSize];

        int front;

        int rear;

}Queue;

void InitQueue(Queue &Q)//初始化顺序队列 

{

     Q.front = 0;

     Q.rear = 0;

}

int EnQueue(Queue &Q, int e)

{

    if((Q.rear +1)%maxSize == Q.front)

       return 0;

    Q.data[Q.rear] = e;

    ++Q.rear;

    return 1;

}

int DeQueue(Queue &Q, int &e)

{

    if(Q.front == Q.rear) 

      return 0;

    e = Q.data[Q.front];

    ++Q.front;

    return  1;



int main()

{

    const int N = 10;

    int temp;

    Queue Q;

    InitQueue(Q);

    for(int i=0;i<N;++i)

    {

            EnQueue(Q,i+1);

    }

    while(Q.front != Q.rear)

    {

            DeQueue(Q,temp);

            cout<<temp<<endl;

    }

    system("pause");   

    return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息