线性表的链式存储又称单链表。
特点:
- 不需要使用地址连续的存储单元
- 插入和删除操作不需要移动元素
- 非随机存取
- 附加指针域,存在浪费存储空间的缺点
/*
LinkList.h
*/
#pragma once
#include <iostream>
using namespace std;
/*
节点结构体
*/
template <class DataType>
struct Node
{
DataType data;
struct Node* next;
Node() {
this->data = NULL;
this->next = NULL;
}
Node(DataType data) {
this->data = data;
this->next = NULL;
}
};
template <class DataType>
class LinkList
{
public:
LinkList();
~LinkList();
// 获取当前顺序表长度
int Length();
// 按值查询(返回位序)
int LocateElement(DataType x);
// 按位查询
DataType ValueOfIndex(int i);
// 尾插法
void TailInsert(DataType data);
// 头插法
void HeadInsert(DataType data);
// 指定位序处插入
bool Insert(DataType data, int i);
// 判断顺序表是否为空
bool IsEmpty();
// 按位删除
bool DeleteByIndex(int i);
// 遍历
void Print()