红黑树c实现
参考算法导论 #include<stdio.h> #include<time.h> #include<stdlib.h> typedef int KEY; enum NodeColor { BLACK=0, RED=1 }; /*定义节点*/ typedef struct node { int data; struct node* parent; struct node* left; struct node* right; enum NodeColor color; }RBTree,*PRBTree; /*标志位节点 NIL[T]*/ PRBTree NIL_FLAG=NULL; /*在红黑树上的操作*/ static void rb_insert(PRBTree*,int); static PRBTree rb_insert_fixup(PRBTree*,PRBTree); static void rb_delete(PRBTree*,PRBTree); static void rb_delete_fixup(PRBTree*,PRBTree); static void left_rotate(PRBTree *T,PRBTree x); static void right_rotate(PRBTree *T,PRBTree x); void inorder(PRBTree);