链表的知识总结

本文介绍了链表作为数据结构的基本概念,包括单链表的节点结构、操作功能,如初始化、遍历、查找、插入和删除。通过C++代码展示了链表操作的实现,强调了链表在解决顺序表缺点上的优势。文章鼓励读者通过实践来深入理解链表。
摘要由CSDN通过智能技术生成

前言

链表其实也算好理解的一种数据结构,其和顺序表不一样的是数据元素按逻辑次序链接在一起。

在这先说一下顺序表的缺点:

  • 插人和删除操作需移动大量元素。

  • 不确定容量大小。

  • 使储存空间变得碎片化。

这些缺点其实很好理解,插人和删除操作都是一步一步位移完成。数组大小需要我们去声明,事先确定他的大小。如果声明许多的数组,会造成存储空间的“碎片”。因为这些问题的根本在于顺序表是静态存储分配

现在一起了解一下链表吧。

单链表

单链表(singly linked list)是用组任意的行储单元存放线性表的元素,这组存储单元可以连续也可以不连续,甚至可以零散分布在内存中的任意位置。为了能正确表乐元素之间的逻辑关系每个存储单元在存储数据元素同时,还必须在储其后继元素所在的地址信息。这个地址信息称为指针。

单链表的知识点:

  • 数据元素的存储映象,称为结点(node),其中data为数据域,存放数据元素:nxt为指针城,存放该结点的后继结点的地址。如图2-1。

  • 在使用单链表时关心的只是数据元素以及数据元素之间的逻辑关系,而不是每个数据元素在存储器中的实际位置。

    其余的知识点有头结点尾标志头指针,指针变量这些,在单链表中有很大的作用。

  • 接下来进入C++代码实现栈的功能·环节,如有不足,和我一起讨论吧

C++基本操作实现

结点结构

template <class D>
struct Node
{
	D data;
	Node<D>*next;
};

其中data为数据域,存放数据元素:nxt为指针域,是不是很简单。

功能概括

template <class D>
class LinkList
{
public:
   LinkList();//建立只有头结点的空链
   LinkList (D a[],int n);
   
  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值