数据结构初学习、单向链表
- 数据结构:用来组织和存储数据
- 一、数据与数据之间的关系
- 逻辑结构:数据元素与元素之间的关系
- 集合:元素与元素之间平等的集合关系
- 线性结构:数据元素与元素之间存在一对一的关系 eg.顺序表、链表、队列、栈
- 树形结构:数据元素与元素之间存在一对多的关系 eg.二叉树
- 图形结构:数据元素与元素之间存在多对多的关系 eg.网状结构
- 物理结构:数据元素在计算机内存中的存储方式
- 顺序结构:在内存中选用一段连续的内存空间进行存储
- 数据访问方便
- 插入和删除数据是需要移动大量数据
- 需要预内存分配
- 可能造成大量的内存碎片
- 链式结构:在内存中选用一段非连续的内存空间进行存储,一组数据中各元素后有指向下一个元素的指针,最后一个元素后为NULL(空指针)
- 数据访问时必须从头遍历
- 插入和删除元素方便
- 不需要预内存分配,是一种动态存储的方式
- 索引结构:将要存储的数据的关键字和存储位置之间构建一个索引表,快速查找
- 散列结构(哈希结构):将数据的存储位置与数据元素之间的关键字建立对应的关系(函数关系),根据该关系进行数据存储和查找,快速查找
- 顺序结构:在内存中选用一段连续的内存空间进行存储
- 逻辑结构:数据元素与元素之间的关系
- 内存是线性结构
- 二、单向链表
- 创建链表对象
- 遍历
- 插入数据
- 头插法
- 删除数据
- 查找数据
- 修改数据
- 销毁数据