贡献者: 有机物
链表是一种用于存储数据的链式数据结构,形如一条链子一样来连接元素,通常用于存储树和图。
与数组不同的是:数组是一种支持随机访问,但不支持在任意位置插入或删除元素的数据结构。但链表支持在任意位置插入或删除,但只能按顺序依次访问其中的元素。
单链表:
可以看到,链表上每个结点都有三个值,分别为:下标、值和
下标为
如果用 C++ 的指针和结构体来写链表的话,长成这样子:
一般在竞赛中很少用上面这种方式来实现链表,因为这种写法效率很低,所以这里我们来讲一下如何使用数组来模拟链表。
数组模拟单链表需要这么几个数组和变量:
单链表通常有这么几个操作:
我们来模拟一个样例来更好的理解单链表,如要进行如下这些操作:
我们来借助几张图片来模拟一下上面的
经过模拟了
第一个操作:向头结点插入一个数
代码如下:
第二个操作:在第
代码如下:
插入方式和插入一个数到头结点的后面类似,这里就再不详讲了。
第三个操作:删除一个点的后面一个点
代码如下:
到目前为止,单链表的基本操作就讲完了。
友情链接: 超理论坛 | ©小时科技 保留一切权利