c++使用单向循环链表结构实现循环队列。

来源:百度知道 编辑:UC知道 时间:2024/06/28 16:55:41
1 使用链表结构实现循环队列类,要求是多态的;2 要求有循环队列的基本运算操作,如初始化、进队列、出队列、判断队列是否为空和取队首元素等等;3 要求有普通的构造函数、拷贝构造函数和析构函数;4 要求=、<< 和 >>的重载;

我实在不知道你们这个题目是什么意思,竟然继承链表来实现队列,帮你实现了,VC6.0通过
//list.h
#ifndef LIST_H
#define LIST_H
#include<iostream>
using namespace std;
struct Node
{
int data;
Node *next;
};
class List
{
public:
List();
~List();
List(List&rhs);
List &operator=(List&);
int operator >>(int x);//让>>从尾部输入x
int operator <<(int x);//让<<删除x
virtual void push(int x);
void push(int x,int idx);
void deletex (int x);
virtual void pop();
virtual int top();
bool empty();
int get_num()
{
return m_nNum;
}
Node *get_head()
{
return m_pHead;
}
protected:
int m_nNum;
Node *m_pHead;
};
List::List()
{
m_nNum=0;
m_pHead=new Node;
m_pHead->data=NULL;
m_pHead->next=NULL;
}
List::List(List&rhs)
{

if(this->get_num!=rhs.get_num)