我试图了解跳过列表如何用于插入,但是当我将其绘制出来时,它并没有成功。
|-inf<---------------------------->+inf|0
|-inf<--------->4<---------------->+inf|1
|-inf<--------->4<--->9<--->11<--->+inf|2
|-inf<--->1<--->4<--->9<--->11<--->+inf|3
所以我想在上面的链表中插入5。
从第0行开始:从-inf开始,将5与+ inf比较,移至下一行。
转到第1行:
是5 <= 4,没有。与右边的内容相比,+ inf。从元素4向下移动到第2行。
转到第2行:
现在我们在4到9之间移动,所以比较会是5 <= 4?不。是5 <= 9?是。插入4到9之间。
但现在5不会出现在第3行? 我做错了什么?
答案 0 :(得分:0)
当你看到5 <= 9时,你必须继续向下直到你到达底部。可能有4到9之间的任何数字仍处于较低级别之一。当您在底行确定其位置时,将其插入那里,然后根据RNG的结果开始将其插入一行。插入的完整序列如下: