建立一个顺序队列,实现队列的入队和出队操作


头文件:  
#ifndef seqqueue_H  
#define seqqueue_H  
const int queuesize=10;  
class seqqueue   
{  
    int rear,front;  
    int data[queuesize];  
public:  
    seqqueue(){front=rear=queuesize-1;}  
    ~seqqueue(){}  
    void enqueue(int x);  
    int dequeue();  
    int getqueue();  
    int empty();  
};  
#endif  
子函数:  
#include"seqqueue.h"  
  
void seqqueue::enqueue(int x)  
{  
    if(front==(rear+1)%queuesize) throw"上溢";  
    rear=(rear+1)%queuesize;  
    data[rear]=x;  
}  
  
int seqqueue::dequeue()  
{  
    if(front==rear) throw"下溢";  
    front=(front+1)%queuesize;  
    return data[front];  
}  
  
int seqqueue::getqueue()  
{  
    int i;  
    if(front==rear) throw"下溢";  
    i=(front+1)%queuesize;  
    return data[i];  
}  
  
int seqqueue::empty()  
{  
    if(front==rear)  
        return 1;  
    else  
        return 0;  
}  
主函数:  
#include<iostream>  
using namespace std;  
#include"seqqueue.h"  
void main()  
{  
    seqqueue s;  
    if(s.empty())  
        cout<<"队列为空"<<endl;  
    else  
        cout<<"队列非空"<<endl;  
    cout<<"元素6和8执行入队操作"<<endl;  
    s.enqueue(6);  
    s.enqueue(8);  
    cout<<"查看队头元素:"<<s.getqueue()<<endl;  
    cout<<"执行出队操作"<<endl;  
    s.dequeue();  
    cout<<"查看队头元素:"<<s.getqueue()<<endl;  
    if(s.empty())  
        cout<<"队列为空"<<endl;  
    else  
        cout<<"队列非空"<<endl;  

猜你喜欢

转载自blog.csdn.net/ab111996/article/details/80169919