java skip list_一个简单的跳跃表(Skip List)的Java实现

s = new SkipList();

s.put("ABC", "");

s.put("DEF", "");

s.put("KLM", "");

s.put("HIJ", "");

s.put("GHJ", "");

s.put("AAA", "");

s.remove("ABC");

s.remove("DEF");

s.remove("KLM");

s.remove("HIJ");

s.remove("GHJ");

s.remove("AAA");

s.put("ABC", "");

s.put("DEF", "");

s.put("KLM", "");

s.put("HIJ", "");

s.put("GHJ", "");

s.put("AAA", "");

}

}

//运行测试后结果示例如下(注意:由于跳表的特性,每次运行结果都不一样)

-----插入[ABC]之前的跳跃表是:-----

-oo +oo

-----插入[ABC]之后的跳跃表是:-----

-oo ABC +oo

-oo ABC +oo

-----插入[DEF]之前的跳跃表是:-----

-oo ABC +oo

-oo ABC +oo

-----插入[DEF]之后的跳跃表是:-----

-oo DEF +oo

-oo ABC DEF +oo

-oo ABC DEF +oo

-----插入[KLM]之前的跳跃表是:-----

-oo DEF +oo

-oo ABC DEF +oo

-oo ABC DEF +oo

-----插入[KLM]之后的跳跃表是:-----

-oo DEF KLM +oo

-oo ABC DEF KLM +oo

-oo ABC DEF KLM +oo

-----插入[HIJ]之前的跳跃表是:-----

-oo DEF KLM +oo

-oo ABC DEF KLM +oo

-oo ABC DEF KLM +oo

-----插入[HIJ]之后的跳跃表是:-----

-oo DEF KLM +oo

-oo ABC DEF KLM +oo

-oo ABC DEF HIJ KLM +oo

-----插入[GHJ]之前的跳跃表是:-----

-oo DEF KLM +oo

-oo ABC DEF KLM +oo

-oo ABC DEF HIJ KLM +oo

-----插入[GHJ]之后的跳跃表是:-----

-oo GHJ +oo

-oo GHJ +oo

-oo GHJ +oo

-oo GHJ +oo

-oo GHJ +oo

-oo GHJ +oo

-oo DEF GHJ KLM +oo

-oo ABC DEF GHJ KLM +oo

-oo ABC DEF GHJ HIJ KLM +oo

-----插入[AAA]之前的跳跃表是:-----

-oo GHJ +oo

-oo GHJ +oo

-oo GHJ +oo

-oo GHJ +oo

-oo GHJ +oo

-oo GHJ +oo

-oo DEF GHJ KLM +oo

-oo ABC DEF GHJ KLM +oo

-oo ABC DEF GHJ HIJ KLM +oo

-----插入[AAA]之后的跳跃表是:-----

-oo GHJ +oo

-oo GHJ +oo

-oo GHJ +oo

-oo GHJ +oo

-oo GHJ +oo

-oo AAA GHJ +oo

-oo AAA DEF GHJ KLM +oo

-oo AAA ABC DEF GHJ KLM +oo

-oo AAA ABC DEF GHJ HIJ KLM +oo

-----删除[ABC]后的跳跃表是:-----

-oo GHJ +oo

-oo GHJ +oo

-oo GHJ +oo

-oo GHJ +oo

-oo GHJ +oo

-oo AAA GHJ +oo

-oo AAA DEF GHJ KLM +oo

-oo AAA DEF GHJ KLM +oo

-oo AAA DEF GHJ HIJ KLM +oo

-----删除[DEF]后的跳跃表是:-----

-oo GHJ +oo

-oo GHJ +oo

-oo GHJ +oo

-oo GHJ +oo

-oo GHJ +oo

-oo AAA GHJ +oo

-oo AAA GHJ KLM +oo

-oo AAA GHJ KLM +oo

-oo AAA GHJ HIJ KLM +oo

-----删除[KLM]后的跳跃表是:-----

-oo GHJ +oo

-oo GHJ +oo

-oo GHJ +oo

-oo GHJ +oo

-oo GHJ +oo

-oo AAA GHJ +oo

-oo AAA GHJ +oo

-oo AAA GHJ +oo

-oo AAA GHJ HIJ +oo

-----删除[HIJ]后的跳跃表是:-----

-oo GHJ +oo

-oo GHJ +oo

-oo GHJ +oo

-oo GHJ +oo

-oo GHJ +oo

-oo AAA GHJ +oo

-oo AAA GHJ +oo

-oo AAA GHJ +oo

-oo AAA GHJ +oo

-----删除[GHJ]后的跳跃表是:-----

-oo AAA +oo

-oo AAA +oo

-oo AAA +oo

-oo AAA +oo

-----删除[AAA]后的跳跃表是:-----

-oo +oo

-----插入[ABC]之前的跳跃表是:-----

-oo +oo

-----插入[ABC]之后的跳跃表是:-----

-oo ABC +oo

-----插入[DEF]之前的跳跃表是:-----

-oo ABC +oo

-----插入[DEF]之后的跳跃表是:-----

-oo DEF +oo

-oo DEF +oo

-oo DEF +oo

-oo DEF +oo

-oo ABC DEF +oo

-----插入[KLM]之前的跳跃表是:-----

-oo DEF +oo

-oo DEF +oo

-oo DEF +oo

-oo DEF +oo

-oo ABC DEF +oo

-----插入[KLM]之后的跳跃表是:-----

-oo DEF +oo

-oo DEF +oo

-oo DEF +oo

-oo DEF +oo

-oo ABC DEF KLM +oo

-----插入[HIJ]之前的跳跃表是:-----

-oo DEF +oo

-oo DEF +oo

-oo DEF +oo

-oo DEF +oo

-oo ABC DEF KLM +oo

-----插入[HIJ]之后的跳跃表是:-----

-oo DEF +oo

-oo DEF +oo

-oo DEF +oo

-oo DEF HIJ +oo

-oo ABC DEF HIJ KLM +oo

-----插入[GHJ]之前的跳跃表是:-----

-oo DEF +oo

-oo DEF +oo

-oo DEF +oo

-oo DEF HIJ +oo

-oo ABC DEF HIJ KLM +oo

-----插入[GHJ]之后的跳跃表是:-----

-oo DEF +oo

-oo DEF +oo

-oo DEF +oo

-oo DEF HIJ +oo

-oo ABC DEF GHJ HIJ KLM +oo

-----插入[AAA]之前的跳跃表是:-----

-oo DEF +oo

-oo DEF +oo

-oo DEF +oo

-oo DEF HIJ +oo

-oo ABC DEF GHJ HIJ KLM +oo

-----插入[AAA]之后的跳跃表是:-----

-oo DEF +oo

-oo DEF +oo

-oo DEF +oo

-oo DEF HIJ +oo

-oo AAA ABC DEF GHJ HIJ KLM +oo


版权声明:本文为weixin_42503415原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。