Data structures 跳过列表:插入

Data structures 跳过列表:插入,data-structures,linked-list,skip-lists,Data Structures,Linked List,Skip Lists,我试图理解跳过列表是如何用于插入的,但当我把它画出来时,它就不起作用了 |-inf<---------------------------->+inf|0 |-inf<--------->4<---------------->+inf|1 |-inf<--------->4<--->9<--->11<--->+inf|2 |-inf<--->1<--->4<--->9<-

我试图理解跳过列表是如何用于插入的,但当我把它画出来时,它就不起作用了

|-inf<---------------------------->+inf|0
|-inf<--------->4<---------------->+inf|1
|-inf<--------->4<--->9<--->11<--->+inf|2
|-inf<--->1<--->4<--->9<--->11<--->+inf|3
|-inf+inf|0
|-inf4+inf | 1
|-inf4911+inf | 2
|-inf14911+inf | 3
所以我想在上面的链表中插入5

从第0行开始:从-inf开始,将5与+inf比较,移动到下一行

移动到第1行:

当你看到5+inf时,5是不是?否:向下移动
  • 5>4?是:向右移动
  • 5>+inf?否:向下移动
  • 5>9?否:向下移动
  • 5>9?否:向下移动
  • 无法在上一步中向下移动,因此在底部插入4和9之间的内容
  • 可能会将5添加到更高的行
  • 当你看到5+inf时?否:向下移动
  • 5>4?是:向右移动
  • 5>+inf?否:向下移动
  • 5>9?否:向下移动
  • 5>9?否:向下移动
  • 无法在上一步中向下移动,因此在底部插入4和9之间的内容
  • 可能会将5添加到更高的行