posts - 0,comments - 0,trackbacks - 0
#include<iostream>
#define maxSize 10
using namespace std;
typedef struct
{
    int rear,front;
    int data[maxSize];
}SqQueue;
void InitSqQueue(SqQueue &qu)
{
    qu.front=qu.rear=0;
}
int  QueueEmpty(SqQueue qu)
{
    if(qu.front==qu.rear)
        return 1;
    else return 0;
}
int enQueue(SqQueue &qu,int x)
{
    if((qu.rear+1)%maxSize==qu.front)
        return 0;
    qu.rear=(qu.rear+1)%maxSize;
    qu.data[qu.rear]=x;
    return 1;
}

int deQueue(SqQueue &qu,int &x)
{
    if(qu.front==qu.rear)
        return 0;
    qu.front=(qu.front+1)%maxSize;
    x=qu.data[qu.front];
    return 1;
}
void print(SqQueue  &qu)
{
    int i,j;
    i=qu.rear;
    j=qu.front;
    cout<<"打印队列:";
    while(i!=j)
    {
        j=(j+1)%maxSize;
        cout<<qu.data[j]<<"  ";        
    }
    cout<<endl;
}
int main()
{
    int x;
    SqQueue sq;
    InitSqQueue(sq);
    enQueue(sq,1);
    enQueue(sq,2);
    enQueue(sq,3);
    enQueue(sq,4);
    enQueue(sq,5);
    enQueue(sq,6);
    
    if(deQueue(sq,x)==1)  cout<<x<<endl;
    if(deQueue(sq,x)==1)  cout<<x<<endl;
    if(deQueue(sq,x)==1)  cout<<x<<endl;
    if(deQueue(sq,x)==1)  cout<<x<<endl;
    
    enQueue(sq,7);
    enQueue(sq,8);
    enQueue(sq,9);
    enQueue(sq,10);
    if(deQueue(sq,x)==1)  cout<<x<<endl;
    enQueue(sq,11);
    enQueue(sq,12);
    enQueue(sq,13);
    enQueue(sq,14);
    print(sq);
    return 1;
}
posted on 2012-08-25 08:14 yyj 阅读(607) 评论(0)  编辑 收藏 引用

只有注册用户登录后才能发表评论。
网站导航:   博客园   博客园最新博文   博问   管理