📄 h1.h
字号:
#if!defined __lqq__
#define __lqq__
class LinkList //定义基类 LinkList
{
typedef struct node//定义链表节点类型
{
int data;
struct node *next;//next指向下一个数据
} ListDataNode;
//定义链表类型
typedef ListDataNode * ListData;//把ListDataNode的指针类型改名为ListData,ListDataNode *a和ListData a是等价的
protected:
int count; //列表中元素的个数
ListData dataLinkHead, dataLinkTail;//表头、表尾指针
static ListCount; //列表个数
public:
LinkList(void){dataLinkHead=NULL;count=0;dataLinkTail=NULL;ListCount++;} //构造函数
virtual ~LinkList(void){ListCount--;} //析构函数
void putTail (int newData);//在表尾加入一个新元素
void putHead (int newData); //在表头插入一个新元素
int getHead (void); //从表头取出一个元素
int peekHead(void); //查看表头元素的值,假定列表至少有一个元素
bool empty(){if(count==0)return true;else return false;}//检查列表是否空
int getElemCount(); //取列表元素个数
static int getListNumber();//输出列表个数
};
class Queue:public LinkList//定义队列类
{
public:
~Queue(void);
void enQueue(int); //从队尾输入队列中的元素
int getQueueLength(); //输出queue中元素的个数
void printQueue();//从队头输出队列中的元素
void delQueue();//释放队列中的元素
};
class Stack:public LinkList //定义栈类
{
public:
~Stack(void);
void push(int);//往栈中放入元素
int pullout(void);//从栈顶取出元素
int top(); //检查栈顶
void printStack();// 输出栈中的元素
void pop();//删除栈中的元素
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -