链表
链表
Linked List,是一组不必相连的内存结构,按照特定的顺序链接在一起的数据类型。
在我的印象中,使用链表大部分情况下都需要指针,我一直认为这部分很难,,,。
单链表
最简单的链表,每个节点都有下一个节点的地址和当前节点的数据
双向链表
每个节点不仅有下一个节点的地址和当前节点数据,还有上一个节点的地址,这样对相邻节点进行操作时会更加方便。
循环链表
最后一个元素又指向第一个元素
双向循环链表
从名字可以看出来上两个链表结合而来
静态链表
对于一些没有设置指针类型的编程语言,可使用结构数组表示链表
指针
首先看定义:
指针是内存地址。
指针变量是存放内存地址的变量。
因为我不会,所以我想不明白这个东西到底有什么用,对于它的出现我真的很抗议,所以这次先放重要作用:
- 指针能使程序的不同部分共享内存数据。
如果把一个数据的地址从一个函数传递到另一个函数,就能够类似共享内存,虽然也可以复制数据,但效率不高,而指针可以提高传输速度,又节省大量内存。 - 利用指针动态分配内存
指针可以使程序在运行时动态增加空间,并且指针指向这一内存更加方便 - 方便复杂的连接性的数据结构的构建
如链表,二叉树等
----------------------------------------困了,明天再写----------------------------------------------------------------