展开全部
//
// 队列
//
#include <iostream>
using namespace std;
//队列结点类
class node
{
friend class queue;
public:
node(){ next = NULL; }
private:
int data;
node *next;
};
//队列类
class queue
{
public:
queue(){ que_front = que_rear = NULL; }
bool empty(){ return (que_front)?false:true; }
void push( int );
void pop();
int front() const{ return que_front->data; }
int back() const{ return que_rear->data; }
private:
node *que_rear;
node *que_front;
};
//入队
void queue::push( int num )
{
node *p = new node;
p->data = num;
if( empty() ) que_front = que_rear = p;
else
{
que_rear->next = p;
que_rear = p;
}
}
//出队
void queue::pop()
{
node *p = que_front;
que_front = p->next;
delete p;
}
int main()
{
cout<<"~~~测试队列~~~"<<endl;
cout<<endl;
cout<<endl;
queue q1;
cout<<"初始化队列:5 4 3 2 1 "<<endl;
for( int i=1;i<=5;i++ )
{
q1.push(i);
}
if( q1.empty() ){ cout<<"队列为空"<<endl; }
else { cout<<"队列非空"<<endl; }
cout<<"队首元素为:"<<q1.front()<<endl;
cout<<"队尾元素为:"<<q1.back()<<endl;
cout<<"8入队"<<endl;
q1.push(8);
cout<<"队首出队"<<endl;
q1.pop();
cout<<"队首元素为:"<<q1.front()<<endl;
cout<<"队尾元素为:"<<q1.back()<<endl;
return 0;
}
// 队列
//
#include <iostream>
using namespace std;
//队列结点类
class node
{
friend class queue;
public:
node(){ next = NULL; }
private:
int data;
node *next;
};
//队列类
class queue
{
public:
queue(){ que_front = que_rear = NULL; }
bool empty(){ return (que_front)?false:true; }
void push( int );
void pop();
int front() const{ return que_front->data; }
int back() const{ return que_rear->data; }
private:
node *que_rear;
node *que_front;
};
//入队
void queue::push( int num )
{
node *p = new node;
p->data = num;
if( empty() ) que_front = que_rear = p;
else
{
que_rear->next = p;
que_rear = p;
}
}
//出队
void queue::pop()
{
node *p = que_front;
que_front = p->next;
delete p;
}
int main()
{
cout<<"~~~测试队列~~~"<<endl;
cout<<endl;
cout<<endl;
queue q1;
cout<<"初始化队列:5 4 3 2 1 "<<endl;
for( int i=1;i<=5;i++ )
{
q1.push(i);
}
if( q1.empty() ){ cout<<"队列为空"<<endl; }
else { cout<<"队列非空"<<endl; }
cout<<"队首元素为:"<<q1.front()<<endl;
cout<<"队尾元素为:"<<q1.back()<<endl;
cout<<"8入队"<<endl;
q1.push(8);
cout<<"队首出队"<<endl;
q1.pop();
cout<<"队首元素为:"<<q1.front()<<endl;
cout<<"队尾元素为:"<<q1.back()<<endl;
return 0;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询