增加一个全局min指针和max指针,每插入一个结点,与他们进行比较,如果小于min或者大于max,对全局指针做相应赋值。
然后对每个结点增加前驱和后继指针。
插入结点x后,用O(lgn)时间找到结点后继z,再利用z的前驱指针,用O(1)找到z的原前驱w。对x,z,w的前驱后继指针进行修改。
删除结点与插入类似,也可以在O(lgn)时间内完成前驱后继指针的修改。
增加一个全局min指针和max指针,每插入一个结点,与他们进行比较,如果小于min或者大于max,对全局指针做相应赋值。
然后对每个结点增加前驱和后继指针。
插入结点x后,用O(lgn)时间找到结点后继z,再利用z的前驱指针,用O(1)找到z的原前驱w。对x,z,w的前驱后继指针进行修改。
删除结点与插入类似,也可以在O(lgn)时间内完成前驱后继指针的修改。