c语言实现的简单二叉树
2010-09-19 18:10
288 查看
#include <stdio.h> #include <stdlib.h> typedef struct node * link; struct node{ int item; link l; link r; }; link make_node(int item, link l, link r) { link t = (link)malloc(sizeof(*t)); t->item = item; t->l = l; t->r = r; return t; } link insert_node(link root, int item) { if(root == NULL) return make_node(item, NULL, NULL); if(item > root->item){ root->r = insert_node(root->r, item); } else if(item < root->item){ root->l = insert_node(root->l, item); } return root; } link search_node(link root, int item) { if(root == NULL) return NULL; if(item > root->item){ return search_node(root->r, item); } else if(item < root->item){ return search_node(root->l, item); } else return root; } void pre_ord(link root) { if(root == NULL) return; printf("%3d", root->item); pre_ord(root->l); pre_ord(root->r); } int main(int argc, char *argv[]) { link root = NULL; for(int i = 0; i < 5; i++){ root = insert_node(root, rand() % 10); } pre_ord(root); if(link t = search_node(root, 9)){ printf("/n%d/n", t->item); } return 0; }
相关文章推荐
- 【数据结构】数据结构C语言的实现(简单二叉树)
- 二叉树的创建、前序中序后序递归遍历与非递归遍历、层序遍历以及二叉树简单应用的C语言实现
- 二叉树--遍历(c语言简单实现)
- 二叉树的建立与遍历(C语言简单实现)
- 简单的C语言二叉树的实现代码
- 用C语言简单演示如何借助zlib库实现文件的压缩和解压缩
- 史上最简单的C语言链表实现,没有之一
- C语言 使用结构体实现简单的通讯录
- C语言实现简单的电子通讯录2
- C语言单链表简单实现
- 深入浅出编译原理-5-一个简单语法分析器的C语言实现
- 二叉树的三种遍历及C语言实现
- 简单http_server的C语言实现
- 用C语言实现一个简单的HTTP客户端(HTTP Client)
- 二叉树的先序、中序和后序的非递归遍历(C语言实现)
- 学生信息系统简单实现C语言
- c语言单向链表的简单实现,隐藏head节点
- C语言实现单链表的简单操作
- 简单二叉树的实现和遍历
- 利用linux下的c语言编程来简单的实现一个shell功能实现!