顺序表
一.顺序储存结构
与对数组的操作类似,并无太大新知识点,顾略去。
二.链式储存结构
单链表的储存不连续,每个储存单元既储存数据元素,又储存后继元素的地址。
因此,节点结构定义
template<typename T>
struct Node
{
T data;
Node<T> *next;
};
为了实现基本操作,创建模板
template<typename T>
class LList
{
public:
............
private:
Node<T> *first; //头指针
}
单链表初始化
template<typename T>
LList<T>::LList()
{
first=new Node<T>;//生成头节点
first->next=nullptr; //置空
}
如果要放入数据,有头插法与尾插法
头插法
template<typename T>
LList<T>::LList(T a[],int n)
{
first=new Node<T>;
first->next=nullptr; //初始化空链表(必须)
for(int i=0;i<n;i++)
{
Node<T> *s=nullptr; //定义一个s
s=new Node<T>;
s->data=a[i];//赋值
}
s->next=first->next; //插入到头节点的后面
first