软件设计师 上午题#3 数据结构p8 线性结构链式存储
线性表的链式存储
链式存储是通过指针链接起来的结点来存储数据元素,基本结构如下:
数据域用于存储数据元素的值
指针域存储当前元素的直接前驱或直接后继的位置信息
存储各元素的结点的地址并不要求是连续的,因此存储数据元素的同时必须存储元素之间的逻辑关系,需要一个结点就申请一个空间就行
(顺序存储是你们村里连起来的一排房子,链式存储是你朋友家在隔壁村,指针域有他家地址)
链表也分单链表跟多链表
单链表(线性列表):结点之间通过指针域构成一个链表,结点中只有一个指针域
单链表还分带头结点跟不带头结点
带头结点:一开始会有一个结点,这个头结点不存储数据,就是数据域为null,指针域指向的就是第一个带数据的结点的地址
不带头结点:就是没有结点指向第一个结点
带头结点链表的插入
如果要在1跟2之间插入插入一个结点,仅仅需要两步
大家要明白一点就是,这条链不能断!
所以插入一个的时候,先是复制1指向的下一个地址的地址(复制地址),然后才把1的指向的地址改成插入的元素的地址(改地址)
下一篇:
用Java打印杨辉三角形