close


#include<iostream>
using namespace std;
const int N=10;
int q[N];
int rear,front;


void CreatCQ() //建立一個環狀佇列(Circular Queue)
{
front=0;rear=N; //特別值即為N(N為資料的總個數)
}


bool IsEmptyCQ()//檢查佇列裡是不是空的(亦即沒有資料)
{
return rear==N;
}


bool IsFullCQ()//檢查佇列是不是滿的
{
return rear==front;
}


void AddCQ(int item)//加入新資料
{
if(IsFullCQ())cout<<"Queue is full!!"<<endl;
rear=(rear+1)%N; //將rear往前一位
q[rear]=item;
}


int DeleteCQ()
{
int item; //用來儲存被Dequeu的值
if(IsEmptyCQ())cout<<"Queue is empty"<<endl;
front=(front+1)%N; //將front往前一位
item=q[front]; 
if(front==rear){rear=N;front=0;}
return item;
}




void main(){
CreatCQ();
for(int i=10;i>0;i--)AddCQ(i);
DeleteCQ();
    cout<<DeleteCQ()<<endl;
AddCQ(12);
cout<<q[rear]<<endl;
cout<<q[front]<<endl;
system("pause");
}

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 野小孩 的頭像
    野小孩

    野小孩的部落格

    野小孩 發表在 痞客邦 留言(0) 人氣()