#include <iostream>
using namespace std;
#define SIZE 10
struct Queue
{
int *Front;
int *Rear;
int size;
};
void Init(Queue &q){
q.Front=new int [SIZE];
q.Rear=q.Front;
? ? q.size=SIZE;
};
//開始對隊(duì)列進(jìn)行操作
//入隊(duì)操作
int Ins(Queue &q,int e) {
*q.Rear=e;
cout<<"隊(duì)列內(nèi)部的賦值"<<*q.Rear<<endl;
cout<<"隊(duì)列的Front:"<<q.Front<<endl;
q.Rear++;
cout<<"隊(duì)列的Rear:"<<q.Rear<<endl;
}
//出隊(duì)操作
int Rem(Queue &q,int &e){
cout<<"出隊(duì)操作獲取隊(duì)列首位:"<<*q.Front<<endl;
e=*q.Front;
? // delete(*q.Front);
q.Front++;
cout<<"出棧的Front變化:"<<q.Front<<endl;
}
//
int IsEmpty(Queue q)
{
if(q.Front==q.Rear)
? ? return 1;
else
? ? return 0;
}
int main(){
Queue queue;
Init(queue);
cout<<"請輸入一組數(shù),以非數(shù)字結(jié)束:"<<endl;
int e;
while(cin>>e){
Ins(queue,e);
}
while(!IsEmpty(queue))
{
Rem(queue,e);
cout<<"出棧的值::"<<e<<endl;
}
return 0;
}
-----------------------------------------------------------------------------------------------------------------------------------Results:
輸入一串?dāng)?shù)字,(以非數(shù)字結(jié)束):
1 2 3 4
1
沒賦值的棧頂:0xd518d0
賦值的棧頂:1
2
沒賦值的棧頂:0xd518d4
賦值的棧頂:2
3
沒賦值的棧頂:0xd518d8
賦值的棧頂:3
4
沒賦值的棧頂:0xd518dc
賦值的棧頂:4
p
出棧的值:0xd518dc
出棧e的值:4
0 出棧的值:0xd518d8
出棧e的值:3
0 出棧的值:0xd518d4
出棧e的值:2
0 出棧的值:0xd518d0
出棧e的值:1
0