C语言二叉树结构数组法
2016-12-21 19:36
120 查看
#include "stdafx.h" struct tree{ int left; int data; int right; }; typedef struct tree treenode; const int num = 32768; treenode tree[num]; int _tmain(int argc, _TCHAR* argv[]) { int n = 9; int x = 1; int i; int num[10] = {6,3,8,5,2,9,4,7,10}; tree[1].data = num[0]; tree[1].left = -1; tree[1].right = -1; for ( i= 2; i < 10; i++){ tree[i].left = -1; tree[i].right = -1; tree[i].data = 0; } for (i = 1; i < 9; i++){ x = 1; while (tree[x].data != 0){ if (num[i] < tree[x].data){ if (tree[x].left == -1){ tree[x].left = i + 1; x = i + 1; tree[x].data = num[i]; break; } else { x = tree[x].left; } } else { if (tree[x].right == -1){ tree[x].right = i + 1; x = i + 1; tree[x].data = num[i]; break; } else { x = tree[x].right; } } } } for (int i = 1; i < 10; i++){ printf("%d %d %d\n", tree[i].left, tree[i].data, tree[i].right); } return 0; }
相关文章推荐
- 单片机C语言-Keil
- 关于C语言中连续多次scanf无法成功运行的问题简析
- 模仿go语言的C语言面向对象范式
- 队列 C语言实现
- linux下的C语言开发(管道通信)
- C语言--排序( 逢五断数)
- 10个经典的C语言面试基础算法及代码
- 【c语言】求 1+2+3+4+...+100
- c语言构造数据类型
- C语言快速删除列表选中项算法
- c语言:判断一个字符串中是否含有字符C
- C语言中的三字母词
- 【C语言简单说】二:第一个C语言程序详解(1)
- C语言stdio.h和stdlib.h
- 排序算法(一) c语言
- C语言学生管理系统(原版本)(自编)
- c语言printf格式化输出(2)
- __cdecl调用 C语言变参