单链表

链表用指针链接节点,插入与删除只需要修改前驱的 next 指针,无需移动其他元素。 关键思想:插入先找前驱,删除先遍历定位。观察下方动画中 p 指针的移动规律。

单链表操作
01 / 6 步
初始链表:12 → 99 → 37 → 8,在位置 3 插入 66。 比较 0 · 交换 0
伪代码

				
					
					1
					procedure insert(head, i, x)
				
			
				
					
					2
					  p = head                      // 从头开始
				
			
				
					
					3
					  for j = 1 to i - 1 do
				
			
				
					
					4
					    p = p.next                  // 移动到第 i-1 个节点
				
			
				
					
					5
					  end for
				
			
				
					
					6
					  s = new node(x)               // 创建新节点
				
			
				
					
					7
					  s.next = p.next               // 新节点指向后继
				
			
				
					
					8
					  p.next = s                    // 前驱指向新节点
				
			
				
					
					9
					end procedure
				
			
01 / 6
速度