Chinaunix首页 | 论坛 | 博客
  • 博客访问: 806896
  • 博文数量: 142
  • 博客积分: 3505
  • 博客等级: 中校
  • 技术积分: 1501
  • 用 户 组: 普通用户
  • 注册时间: 2011-07-30 19:30
文章分类

全部博文(142)

文章存档

2012年(33)

2011年(109)

分类: C/C++

2011-08-06 16:25:43

demo.c

  1. #include   
  2. #include   
  3. #include "rbtree.h"  
  4. int main(int argc, char *argv[])  
  5. {  
  6.     int i;  
  7.     struct rb_root root;  
  8.     root.rb_node = NULL;  
  9.     for (i = 2; i < argc; i++ ) {  
  10.         struct rb_key rb_key;  
  11.         rb_key.key = atol(argv[i]);  
  12.         struct rb_node *node = rb_newnode(&rb_key);  
  13.         if (node) {  
  14.             rb_insert(node, &root);  
  15.         }  
  16.     }  
  17.     rb_traverse(root.rb_node);  
  18.     printf("/n");  
  19.     struct rb_key rb_key;  
  20.     rb_key.key = atol(argv[1]);  
  21.     struct rb_node *node = rb_search(&root, rb_key);  
  22.     if (node) {  
  23.         printf("key = %d/n", node->rb_key.key);  
  24.         rb_erase(node, &root);  
  25.         rb_traverse(root.rb_node);  
  26.         printf("/n");  
  27.     } else {  
  28.         printf("%d is not found/n", rb_key.key);  
  29.     }  
  30.     return 0;  
  31. }  

参考文献:

[1] 算法导论

[2] 一篇讨论红黑树的好文章: 

阅读(1621) | 评论(0) | 转发(1) |
0

上一篇:红黑树2

下一篇:glibc中malloc的详细解释

给主人留下些什么吧!~~