dllist.h

来自「nachos下线程与同步的实验」· C头文件 代码 · 共 56 行

H
56
字号
#include <synch-sem.h>




class DouListElement  //双向链表节点定义
{

	public:
		int key;   //整型值

		DouListElement *next;   //指向后一个节点

		DouListElement *pre;    //指向前一个节点

		DouListElement(int item);  //初始化函数

};

class DouList        //双向链表定义
{
	private:    
		DouListElement *head;  //链表表头指针
		DouListElement *tail;  //链表尾指针
		Lock *lock;
		Condition *listEmpty;

	public:
		DouList(); //链表构造函数

	  ~DouList();   //析构函数

		int IsEmpty();                   //判断链表是否为空


		void Append(DouListElement *item); //在链表的结尾增加一个节点


		void PreAppend(DouListElement *item); //在链表的头部增加一个节点


		void LastDelete();                //在链表结尾删除一个节点  

		void FistDelete(int which,int i);                //在链表头部删除一个节点  

		void PrintList();        //打印链表

		int GetNumOfItem();      //取得链表中节点个数 

		void Insert(DouListElement *p,DouListElement *item,int which,int i);   //在指点的p节点后面插入item节点

		void Insert(DouListElement *item,int which,int i);           //在链表中正序插入一个元素

		
};

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?