本章主要给出一个红黑树的实现示例。(转自红黑树(一)之 原理和算法详细介绍)
1. 相应头文件
头文件rbtree.h
:
2. 相应源文件
如下是源文件rbtree.c
:
3. 测试源文件
如下是测试源文件main.c
:
编译运行:
# gcc -o rbtree *.c
# ./rbtree
== origin data:10 40 30 60 90 70 20 50 80
== preorder:30 10 20 60 40 50 80 70 90
== inorder:10 20 30 40 50 60 70 80 90
== postorder: 20 10 50 40 70 90 80 60 30
== minimum value: 10
== maximum value: 90
== rbtree detail:
30(B) is root
10(B) is 30's left child
20(R) is 10's right child
60(R) is 30's right child
40(B) is 60's left child
50(R) is 40's right child
80(B) is 60's right child
70(R) is 80's left child
90(R) is 80's right child
[参看]:
-
查找(一)史上最简单清晰的红黑树讲解
-
红黑树的插入与删除
-
浅谈算法和数据结构: 九 平衡查找树之红黑树
-
数据结构: 2-3树与红黑树
-
数据结构与算法
-
红黑树(一)之 原理和算法详细介绍