C++和数据结构

队列的定义和实现(C++)

2019-07-03  本文已影响0人  朱宏飞
一图胜千言,队的操作

#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;

};

//开始对队列进行操作

//入队操作

int Ins(Queue &q,int e) {

*q.Rear=e;

cout<<"队列内部的赋值"<<*q.Rear<<endl;

cout<<"队列的Front:"<<q.Front<<endl;

q.Rear++;

cout<<"队列的Rear:"<<q.Rear<<endl;

}

//出队操作

int Rem(Queue &q,int &e){

cout<<"出队操作获取队列首位:"<<*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<<"请输入一组数,以非数字结束:"<<endl;

int e;

while(cin>>e){

Ins(queue,e);

}

while(!IsEmpty(queue))

{

Rem(queue,e);

cout<<"出栈的值::"<<e<<endl;

}

return 0;

}

-----------------------------------------------------------------------------------------------------------------------------------Results:

输入一串数字,(以非数字结束):

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

上一篇下一篇

猜你喜欢

热点阅读