花之剑'HOME
一朵飘舞在风中的雪花,挣扎着,不想被融化。
导航
BlogJava
联系
管理
常用链接
我的随笔
我的评论
我的参与
最新评论
文章分类
Ajax(1)
c/c++ & algorithm(33)
java
linux(22)
php技术(8)
我的日记
数据库知识(2)
收藏夹
My Favorite(5)
Firends
剑胆琴心
樱桃小鸣子
永远的朋友
最新评论
1. re: C语言中tm结构体
评论内容较长,点击标题查看
--思维殿堂
2. re: Boost pyhton c++ 内嵌扩展
我只是想问下,你最后一个例子import 的kengine_test 有效?我的一直是找不到模块kengine_test;
--rosehack
3. re: Boost pyhton c++ 内嵌扩展[未登录]
剑斌,没想到还能在这看到这个文档!真不容易!
--aa
4. re: C语言中tm结构体
评论内容较长,点击标题查看
--C语言
5. re: 让grep搜寻文件及所有子目录下的文件里的内容[未登录]
good
--haha
原:二叉树排序算法
Posted on 2007-08-19 16:23
花之剑
阅读(625)
评论(0)
编辑
收藏
所属分类:
c/c++ & algorithm
1
/*
2
*利用二叉树排序
3
*
4
*/
5
#
include <stdio.h>
6
#
include<stdlib.h>
7
#
include<ctype.h>
8
#
include<string.h>
9
#
define MAXLEN 10
10
//结构体
11
struct tnode
12
{
13
int num;
14
struct tnode
*
left;
15
struct tnode
*
right;
16
}q;
17
18
//
二叉有序树 左支小右支大
19
struct tnode
*
addtree(struct tnode
*
p
,
int n)
20
{
21
int cond;
22
if
(p
==
NULL
)
23
{
24
p
=
(struct tnode
*
) malloc(
sizeof
(q));
25
p
->
num
=
n;
26
p
->
left
=
p
->
right
=
NULL
;
27
}
else
if
(n
<=
p
->
num)
28
{
29
p
->
left
=
addtree(p
->
left
,
n);
30
}
else
31
p
->
right
=
addtree(p
->
right
,
n);
32
return
p;
33
34
}
35
36
//
打印出排序后的树
37
void treeprint(struct tnode
*
p)
38
{
39
if
(p
!=
NULL
) {
40
treeprint(p
->
left);
41
printf
(
"
%4d \n
"
,
p
->
num);
42
treeprint(p
->
right);
43
}
else
return
;
44
}
45
int main(int argc
,
char
*
argv[])
46
{
47
int a[MAXLEN]
,
i
,
j;
48
char c;
49
struct tnode
*
root;
50
root
=
NULL
;
51
for
(i
=
0
;i
!=
MAXLEN;i
++
)
52
{
53
scanf(
"
%d
"
,&
a[i]);
54
root
=
addtree(root
,
a[i]);
55
}
56
treeprint(root);
57
return
0
;
58
}
59
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
Chat2DB
C++博客
博问
管理
相关文章:
Boost pyhton c++ 内嵌扩展
了解 Boost Filesystem Library[转]
Win Api
backtrace的用法
[引用]linux调试技术 linux core file
C++一些基本常识
linux下查看可执行文件的地址
Linux 系统错误代码和信号的意义
C++工作目录的相关知识
GDB调试完全解析 转
Powered by:
BlogJava
Copyright © 花之剑