LinkList.h ļ� �
class LinkList
{
typedef struct node{ //�������ڵ�����
int data;
struct node *next;
} ListDataNode;
typedef ListDataNode *ListData;//�� �����������
protected:
int count; // б� ��� �Ԫ صĸ���
ListData dataLinkHead, dataLinkTail;// β��ͷ���� ָ��
static int ListCount;���������� // б� ����
public:
LinkList(); //���캯��
virtual ~LinkList(); // v�������
void putTail (int newData); //�ڱ�β һ���� ���� ��Ԫ
void putHead (int newData); //�ڱ� һͷ���� ����Ԫ��
int getHead (); // ӱ ȡ һ� �ͷ �� �� ��Ԫ
int peekHead() ;//�鿴��ͷԪ�鿴���ֵ�ص��б һ������� �� ��Ԫ
bool empty ( ); // б Ƿ���� �� ��
int getElemCount() ; //ȡ б� � �Ԫ ظ���
virtual void print();
static int getListNumber(); //ȡ б� ����
};
class Queue:public LinkList
{
public:
Queue();
virtual void print();
int getQueueLength();
void enQueue(int newData);
void delQueue();
virtual ~Queue(); //�������
} ;
class Stack:public LinkList
{
public:
Stack();
virtual void print();
bool empty();
void push(int newData);
int top();
void pop();
virtual ~Stack(); //�������
} ;
LinkList.cpp ļ� �
#include <iostream>
#include "LinkList.h"
using namespace std;
int LinkList::ListCount=0;
LinkList::LinkList() //���캯��