双向链表C++实现
2009-03-27 18:03
525 查看
阅读: 482 评论: 3 作者: mini数据库 发表于 2009-03-27 18:03 原文链接
TableHead类决定使用双向链表,可快速找到其前驱。
实现代码如下
DBLList.h(双向链表类)
#pragma once
12
13#include "DBLinkNode.h"
14#include "DBListADT.h"
15#include <iostream>
16using namespace std;
17
18template <class Type>
19class DBLList:public DBListADT<Type>
20
47template <class Type>
48DBLList<Type>::DBLList()
49
53template <class Type>
54DBLList<Type>::DBLList(DBLList& list)
55
65template <class Type>
66DBLList<Type>::~DBLList()
67
71
78template <class Type>
79void DBLList<Type>::InitList()
80
86
93template <class Type>
94bool DBLList<Type>::Insert(const Type& element)
95
template <class Type>
void DBLList<Type>::Append(const Type& element)
template <class Type>
void DBLList<Type>::SetValue(const Type& element)
template <class Type>
Type DBLList<Type>::GetValue() const
template <class Type>
bool DBLList<Type>::Find(Type& element)
template <class Type>
bool DBLList<Type>::Remove()//删除fence下一个节点
template <class Type>
void DBLList<Type>::RemoveAll()
template <class Type>
void DBLList<Type>::Clear()
template <class Type>
bool DBLList<Type>::Next()
template <class Type>
bool DBLList<Type>::Prev()
template <class Type>
bool DBLList<Type>::SetPos(const int& pos)//位置从零开始
template <class Type>
bool DBLList<Type>::IsEmpty() const
template <class Type>
DBLList<Type>& DBLList<Type>::operator=(DBLList& list)//重载= 此操作会重置链表
#pragma once
template <class Type>
class DBLinkNode
template <class Type>
DBLinkNode<Type>::DBLinkNode(const Type& element,DBLinkNode* prev,DBLinkNode* next)
template <class Type>
DBLinkNode<Type>::DBLinkNode(DBLinkNode* prev=0,DBLinkNode* next=0)
template <class Type>
DBLinkNode<Type>* DBLinkNode<Type>::freelist=0;
template <class Type>
void* DBLinkNode<Type>::operator new(size_t)//重载new
template <class Type>
void DBLinkNode<Type>::operator delete(void* ptr)//重载delete
DBListADT.h(线性表ADT)
#pragma once
template <class Type>
class DBListADT
发表评论
新闻频道:09年16款最佳IT产品 Windows7获年度大奖
推荐链接:Windows 7专题发布
网站导航:博客园首页 个人主页 新闻 社区 博问 闪存 知识库
TableHead类决定使用双向链表,可快速找到其前驱。
实现代码如下
DBLList.h(双向链表类)
#pragma once
12
13#include "DBLinkNode.h"
14#include "DBListADT.h"
15#include <iostream>
16using namespace std;
17
18template <class Type>
19class DBLList:public DBListADT<Type>
20
47template <class Type>
48DBLList<Type>::DBLList()
49
53template <class Type>
54DBLList<Type>::DBLList(DBLList& list)
55
65template <class Type>
66DBLList<Type>::~DBLList()
67
71
78template <class Type>
79void DBLList<Type>::InitList()
80
86
93template <class Type>
94bool DBLList<Type>::Insert(const Type& element)
95
template <class Type>
void DBLList<Type>::Append(const Type& element)
template <class Type>
void DBLList<Type>::SetValue(const Type& element)
template <class Type>
Type DBLList<Type>::GetValue() const
template <class Type>
bool DBLList<Type>::Find(Type& element)
template <class Type>
bool DBLList<Type>::Remove()//删除fence下一个节点
template <class Type>
void DBLList<Type>::RemoveAll()
template <class Type>
void DBLList<Type>::Clear()
template <class Type>
bool DBLList<Type>::Next()
template <class Type>
bool DBLList<Type>::Prev()
template <class Type>
bool DBLList<Type>::SetPos(const int& pos)//位置从零开始
template <class Type>
bool DBLList<Type>::IsEmpty() const
template <class Type>
DBLList<Type>& DBLList<Type>::operator=(DBLList& list)//重载= 此操作会重置链表
#pragma once
template <class Type>
class DBLinkNode
template <class Type>
DBLinkNode<Type>::DBLinkNode(const Type& element,DBLinkNode* prev,DBLinkNode* next)
template <class Type>
DBLinkNode<Type>::DBLinkNode(DBLinkNode* prev=0,DBLinkNode* next=0)
template <class Type>
DBLinkNode<Type>* DBLinkNode<Type>::freelist=0;
template <class Type>
void* DBLinkNode<Type>::operator new(size_t)//重载new
template <class Type>
void DBLinkNode<Type>::operator delete(void* ptr)//重载delete
DBListADT.h(线性表ADT)
#pragma once
template <class Type>
class DBListADT
发表评论
新闻频道:09年16款最佳IT产品 Windows7获年度大奖
推荐链接:Windows 7专题发布
网站导航:博客园首页 个人主页 新闻 社区 博问 闪存 知识库
相关文章推荐
- 关于双向链表的增删改查和排序的C++实现
- 双向链表基础操作C++实现
- 双向链表基础操作C++实现
- 深入解析C++的循环链表与双向链表设计的API实现
- 双向链表的c++实现
- 双向链表的c++实现
- 双向链表(C++实现)
- C++ 模板实现Vector和双向链表
- 双向链表基础操作C++实现
- 双向链表基础操作C++实现
- <C/C++数据结构>双向链表(C++模板实现)
- C++实现双向链表(含头结点)
- 一个简单的双向链表(C++实现)
- 双向链表(c++实现)
- 双向链表的C++实现
- 双向链表的c++实现
- 双向链表的c++实现
- 双向链表(c++实现)
- c++中的双向链表写法,主要实现(增删查改,链表逆置,构造函数,运算符重载,等)
- 双向链表基础操作C++实现