我想,實作的時刻又來了。
如果set是以binary search tree來實作的話,
我們也可以自己建樹,不用很難,一般的二元樹就可以搞定了。
程式碼:
http://pastie.org/1904611
http://codepad.org/Yr801b1v
其中的trick是當你在insert時,必須同時判斷x的三種情況(大,小,等於)
當x等於的時候,swap原本的y,然後繼續往後送。
所以當sample
p p1(35, 2);
p p2(35, 3);
p p3(25, 5);
p p4(25, 1);
p p5(25, 5);
p p6(25, 1);
p p7(35, 3);
p p8(35, 2);
排序x又排序輸入順序時,
答案會是
25 5
25 1
25 5
25 1
35 2
35 3
35 3
35 2
find方法和traversal大同小異,就自行修改了。
寫得蠻爛的,請笑小聲點。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.43.118.232