稀疏数组
当一个数组中大部分元素为0,或者为同一个值的数组时,可以用稀疏数组来保存该数组
二维数组转稀疏数组的思路
- 遍历原始的二维数组,得到有效数据的个数sum
- 根据sum就可以创建稀疏数组
int[][] sparseArr = new int[sum + 1][3]
; - 将二维数组中的有效数据 存入到稀疏数组
稀疏数组转原始二维数组的思路
- 先读取稀疏数组的第一行,根据第一行的数据,创建原始的二维数组
- 再读取稀疏数组后几行的数据,并赋给原始的二维数组
使用数组模拟环形队列的思路
- 此处front指向队列的第一个元素,front的初始值 = 0
- 此处rear指向队列的最后一个元素的后一个位置,rear的初始值 = 0
- 队列满时,
(rear + 1) % maxsize == front
- 队列空时,
rear == front
- 队列中有效数据的个数:
(rear + maxsize - front)%maxsize
链表的添加
- 先创建一个head头节点,作用就是表示单链表的头
- 每添加一个节点,就直接加到链表的最后
链表的删除
- 找到删除节点的前一个节点:
temp
temp.next = temp.next.next;