二叉排序树
2013-04-15 21:15
183 查看
#include <stdio.h>
#include <stdlib.h>
typedef struct node
{
int data;
node *lchild;
node *rchild;
}TreeNode;
void InsertNode(TreeNode *&Node, int n)
{
if (Node == NULL)
{
Node = (TreeNode*)malloc(sizeof(TreeNode));
Node->data = n;
Node->lchild = Node->rchild = NULL;
}
else
{
if (Node->data > n)
{
InsertNode(Node->lchild, n);
}
else
{
InsertNode(Node->rchild, n);
}
}
}
//中序遍历
void in(TreeNode *Node)
{
int top = -1;
TreeNode *Stack[100];
TreeNode *p = Node;
do
{
while(p != NULL)
{
Stack[++top] = p;
p = p->lchild;
}
printf("%d ", Stack[top]->data);
p = Stack[top--];
if (p != NULL)
{
p = p->rchild;
}
} while (top >= 0 || p != NULL);
printf("\n");
}
int _tmain(int argc, _TCHAR* argv[])
{
TreeNode *Node = NULL;
int n;
scanf("%d", &n);
for (int i = 0; i < n; i++)
{
int data;
scanf("%d", &data);
InsertNode(Node, data);
}
in(Node);
return 0;
}
#include <stdlib.h>
typedef struct node
{
int data;
node *lchild;
node *rchild;
}TreeNode;
void InsertNode(TreeNode *&Node, int n)
{
if (Node == NULL)
{
Node = (TreeNode*)malloc(sizeof(TreeNode));
Node->data = n;
Node->lchild = Node->rchild = NULL;
}
else
{
if (Node->data > n)
{
InsertNode(Node->lchild, n);
}
else
{
InsertNode(Node->rchild, n);
}
}
}
//中序遍历
void in(TreeNode *Node)
{
int top = -1;
TreeNode *Stack[100];
TreeNode *p = Node;
do
{
while(p != NULL)
{
Stack[++top] = p;
p = p->lchild;
}
printf("%d ", Stack[top]->data);
p = Stack[top--];
if (p != NULL)
{
p = p->rchild;
}
} while (top >= 0 || p != NULL);
printf("\n");
}
int _tmain(int argc, _TCHAR* argv[])
{
TreeNode *Node = NULL;
int n;
scanf("%d", &n);
for (int i = 0; i < n; i++)
{
int data;
scanf("%d", &data);
InsertNode(Node, data);
}
in(Node);
return 0;
}
相关文章推荐
- C语言-数据结构-二叉排序树与平衡树算法实现及演示
- 二叉排序树
- 二叉排序树
- 二叉排序树
- 二叉排序树
- 二叉排序树在不借助新节点只修改指针转换为双链表
- 动态查找表--二叉排序树的实现
- 05年华中科大机试第三题(输入一个字符串,建立一个二叉排序树,并中序遍历输出)
- 二叉查找树(二叉排序树)操作大全C++实现
- 二叉排序树经典算法速成
- 二叉排序树的查找与遍历C版
- 数据结构试验:二叉排序树
- 一步一步复习数据结构和算法基础-二叉排序树
- 动态查找—二叉排序树
- 二叉排序树的源码
- 查找算法(III)二叉排序树(B树)和平衡树(AVL树)
- 二叉排序树
- 二叉排序树
- hdu 3999(二叉排序树)
- 数据结构 - 二叉排序树