简单理解C++链表结构--单链表

链表简介

链表是一种数据结构,由若干个节点串联而成,构成一条完整的链表。

可以把链表理解成为一列火车,每个节点,就是一节车厢。

车厢可以装货物(存储数据),每节车厢有一个挂钩(指针),连接下一节车厢。

火车头,就是链表的头节点。头节点没有数据(不装货物),实际第几个节点是从车厢开始算起。

链表还可以分为单链表、双链表、循环链表。本文先介绍一下单链表。

链表优点:

链表可以动态的存储数据,不需要一开始就把所有的空间创建出来,而且空间也不必连续。

而数组则必须一开始就确定数组的大小,创建出数组的完整空间,并且空间必须是连续的。

缺点:

不能根据索引查找,只能根据指针进行遍历。

链表的应用:

最典型的使用链表结构进行存储的数据,比如轨迹跟踪数据,需要记录每个时刻的位置、时间、角度、速度、里程等信息,并且,每个时刻的数据和它的前一时刻、后一时刻都是紧密相连的。

单链表结构

struct Node
{
  int data; //数据
  Node *next; //指向下一个节点的指针(存放下一个节点的地址)
};

这是链表的一个节点,火车头和所有车厢都是这样的一个节点。

头节点(火车头)不装数据,尾节点的挂钩(next指针)为NULL。

 

创建一个新节点

Node *p &#

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

胡十三刀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值