⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 llist.h

📁 设计一个类库
💻 H
字号:
#ifndef LLIST_H
#define LLIST_H
// Double-Linked List implementation

#include"link.h"

class LList{
private:
	Link* head;
	Link* tail;
	Link* fence;
	int leftcnt;
	int rightcnt;
	void init(){
		fence = tail = head = new Link;
		leftcnt = rightcnt = 0;
	}
	void removeall(){
		while ( head != NULL ){
			fence = head;
			head = head->next;
			delete fence;
		}
	}
	
public:
	LList (){ init(); }
	~LList() { removeall();}
	void clear(){  removeall(); init(); }
	bool insert(Record&);
	bool append(Record&);
	bool remove(Record&);
	
	//set functions;
	void setStart(){
		fence = head;
		rightcnt +=leftcnt;
		leftcnt = 0;
	}
	
	void setEnd(){
		fence = tail; 
		leftcnt +=rightcnt;
		rightcnt = 0;
	}
	
	void prev();
	void next(){
		if( fence != tail ){
			fence = fence-> next;
		    rightcnt--;
			leftcnt++;
		}
	}
	
	int leftLenth()  const { return leftcnt; }
	int rightLenth() const { return rightcnt;}
	
	bool setPos(int pos);
	
	Record& getValue(void) const{
			return fence->next->rec;
	}

};

#endif

⌨️ 快捷键说明

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