如果不了解插入、刪除原理請先閱讀 紅黑樹。本例是我學(xué)習(xí)的時候載自網(wǎng)上的例子,并不是自己原創(chuàng),我只是更詳細(xì)的演示說明了插入、過程。
一、插入
插入結(jié)點:12、1、9、2、0、11、7、19、4、15、18、5、14、13、10、16、6、3、8、17 全程演示
1.插入結(jié)點12

1.插入結(jié)點12
2.插入結(jié)點1

2.插入結(jié)點1
3.插入結(jié)點9(左-情況2)

3.插入結(jié)點9(左-情況2)
4.插入結(jié)點2(左-情況1)

4.插入結(jié)點2(左-情況1)
5.插入結(jié)點0

5.插入結(jié)點0
6.插入結(jié)點11

6.插入結(jié)點11
7.插入結(jié)點7(右-情況1)

7.插入結(jié)點7(右-情況1)
8.插入結(jié)點19

8.插入結(jié)點19
9.插入結(jié)點4(右-情況2)

9.插入結(jié)點4(右-情況2)
10.插入結(jié)點15(右-情況1)

10.插入結(jié)點15(右-情況1)
11.插入結(jié)點18(左-情況2)

11.插入結(jié)點18(左-情況2)
12.插入結(jié)點5(右-情況1)

12.插入結(jié)點5(右-情況1)
13.插入結(jié)點14(左-情況1)

13.插入結(jié)點14(左-情況1)
14.插入結(jié)點13(左-情況3)

14.插入結(jié)點13(左-情況3)
15.插入結(jié)點10

15.插入結(jié)點10
16.插入結(jié)點16(右-情況1)

16-1.插入結(jié)點16(右-情況1)

16-2.插入結(jié)點16(右-情況1)
17.插入結(jié)點6(左-情況2)

17.插入結(jié)點6(左-情況2)
18.插入結(jié)點3(左-情況2)

18.插入結(jié)點3(左-情況2)
19.插入結(jié)點8(右-情況1)

19.插入結(jié)點8(右-情況1)
20.插入結(jié)點17(右-情況3)

20.插入結(jié)點17(右-情況3)
二、刪除
刪除結(jié)點:12、1、9、2、0、11、7、19、4、15、18、5、14、13、10、16、6、3、8、17 全程演示
1.刪除結(jié)點12(右-情況4),實際上刪除的是結(jié)點13所在位置,之后將結(jié)點13賦值給結(jié)點12所在位置即可

1.刪除結(jié)點12(右-情況4)
2.刪除結(jié)點1(左-情況4),實際上刪除的是結(jié)點0所在位置,之后將結(jié)點0賦值給結(jié)點1所在位置即可

2.刪除結(jié)點1(左-情況4)
3.刪除結(jié)點9(左-情況2),實際上刪除的是結(jié)點10所在位置,之后將結(jié)點10賦值給結(jié)點9所在位置即可

3.刪除結(jié)點9(左-情況2)
4.刪除結(jié)點2(左-情況2),實際上刪除的是結(jié)點3所在位置,之后將結(jié)點3賦值給結(jié)點2所在位置即可

4.刪除結(jié)點2(左-情況2)
5.刪除結(jié)點0,刪除紅色結(jié)點,無影響

5.刪除結(jié)點0
6.刪除結(jié)點11,實際上刪除的是結(jié)點13所在位置,之后將結(jié)點13賦值給結(jié)點11所在位置即可,由于結(jié)點13為紅色,無影響

6.刪除結(jié)點11
7.刪除結(jié)點7,實際上刪除的是結(jié)點8所在位置,之后將結(jié)點8賦值給結(jié)點7所在位置即可,由于結(jié)點8為紅色,無影響

7.刪除結(jié)點7
8.刪除結(jié)點19(右-情況4)

8.刪除結(jié)點19(右-情況4)
9.刪除結(jié)點4(左-情況2),實際上刪除的是結(jié)點5所在位置,之后將結(jié)點5賦值給結(jié)點4所在位置即可

9.刪除結(jié)點4(左-情況2)
10.刪除結(jié)點15(左-情況3)

10.刪除結(jié)點15(左-情況3)
11.刪除結(jié)點18(右-情況2)

11.刪除結(jié)點18(右-情況2)
12.刪除結(jié)點5(左-情況4),實際上刪除的是結(jié)點3所在位置,之后將結(jié)點3賦值給結(jié)點5所在位置即可

12.刪除結(jié)點5(左-情況4)
13.刪除結(jié)點14(左-情況3),實際上刪除的是結(jié)點13所在位置,之后將結(jié)點13賦值給結(jié)點14所在位置即可

13.刪除結(jié)點14(左-情況3)
14.刪除結(jié)點13(左-情況2)

14.刪除結(jié)點13(左-情況2)
15.刪除結(jié)點10,實際上刪除的是結(jié)點16所在位置,之后將結(jié)點16賦值給結(jié)點10所在位置即可

15.刪除結(jié)點10
16.刪除結(jié)點16(右-情況1),實際上刪除的是結(jié)點17所在位置,之后將結(jié)點17賦值給結(jié)點16所在位置即可

16.刪除結(jié)點16(右-情況1)
17.刪除結(jié)點6,實際上刪除的是結(jié)點8所在位置,之后將結(jié)點8賦值給結(jié)點6所在位置即可,由于結(jié)點8為紅色,無影響

17.刪除結(jié)點6
18.刪除結(jié)點3(左-情況2)

18.刪除結(jié)點3(左-情況2)
19.刪除結(jié)點8

19.刪除結(jié)點8
20.刪除結(jié)點17

20.刪除結(jié)點17