h1.h

来自「本文件中包含了两个小程序」· C头文件 代码 · 共 55 行

H
55
字号
#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 + =
减小字号Ctrl + -
显示快捷键?