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

📄 gistlist.h

📁 FastDb是高效的内存数据库系统
💻 H
字号:
// -*- Mode: C++ -*-//         GiSTlist.h//// Copyright (c) 1996, Regents of the University of California// $Header: /usr/local/devel/GiST/libGiST/libGiST/GiSTlist.h,v 1.1.1.1 1996/08/06 23:47:21 jmh Exp $#ifndef GISTLIST_H#define GISTLIST_H// A template list package, which is handy.template <class T>struct GiSTlistnode{  T entry;  GiSTlistnode<T> *prev, *next;};template <class T>class GiSTlist{  public:    GiSTlist() { front = rear = NULL; }//  GiSTlist(const GiSTlist<T>& l) { front = l.front; rear = l.rear; }    int IsEmpty() { return front == NULL; }    T RemoveFront() {	assert(front != NULL);	GiSTlistnode<T> *temp = front;	T e = front->entry;	front = front->next;	if (front)	    front->prev = NULL;	else	    rear = NULL;	delete temp;	return e;    }    T RemoveRear() {	assert(rear != NULL);	GiSTlistnode<T> *temp = rear;	T e = rear->entry;	rear = rear->prev;	if (rear) rear->next = NULL; else front = NULL;	delete temp;	return e;    }    void Prepend(T entry) {	GiSTlistnode<T> *temp = new GiSTlistnode<T>;	temp->entry = entry;	temp->next = front;	temp->prev = NULL;	if (rear == NULL)	    rear = temp;	else	    front->prev = temp;	front = temp;    }    void Append(T entry) {	GiSTlistnode<T> *temp = new GiSTlistnode<T>;	temp->entry = entry;	temp->prev = rear;	temp->next = NULL;	if (front == NULL)	    front = temp;	else	    rear->next = temp;	rear = temp;    }  private:    GiSTlistnode<T> *front, *rear;};#endif

⌨️ 快捷键说明

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