传统结构体链表和数组模拟链表辨析
| 数组模拟 | 传统结构体版 | 含义 |
|---|---|---|
h[u] |
head |
指向第一条边的指针 |
ne[i] |
ptr->next |
指向下一条边的指针 |
e[i] |
ptr->val |
当前边指向的具体节点 |
- 数组模拟的h数组以及ne数组存储的是指针,也可以理解为指向元素的边;只有通过e数组才能得到对象的值;idx表示用到哪个节点
- 而传统结构体则更为直接,可直接通过->next->val操作访问下一元素的值
例如
1 | //访问头节点指向元素 |
头插法辨析应用
1 |
|
| 步骤描述 | 数组模拟 | 传统结构体指针版 |
|---|---|---|
| 创建新“地址” | idx (自增索引) |
new Node (堆内存地址) |
| 存入数据 | e[idx] = b; |
p->val = b; |
| 指向当前的头 | ne[idx] = h[a]; |
p->next = h[a]; |
| 更新头指针 | h[a] = idx++; |
h[a] = p; |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 xiaomao's blog!
