您的位置:首页 > 其它

线性表之链式存储--------双向链表

2018-07-28 23:07 85 查看
[code]typedef int DataType;

struct LinkNode{
LinkNode(const DataType x);
DataType _data;//结点的数据
LinkNode* _next;//后继指针
LinkNode* _prev;//前驱指针
};

class List{
public:
List();
List(const List& s);
List &operator=(List &s);
~List();
public:
void Reverse();//反转链表
void Swap(List& s);//交换两个链表
void PrintSList();//打印链表
void PushBack(const DataType &x);//尾插入节点
void Clear();//清空链表
void PopBack();//取出头结点
void PushFront(DataType x);//头插入节点
void Insert(LinkNode* pos,DataType x);//指定结点插入数据
void Erase(LinkNode *pos);//擦除结点
LinkNode* Find(DataType x);//根据数据找回结点
int Amount();//计算结点的个数
void Remove(DataType x);//根据数据移除某个结点
private:
LinkNode* _head;//指向头结点
LinkNode* _tail;//指向尾结点
};

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: