#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#define MAX 500
typedef struct Bnode
{
int key;
struct Bnode *left;
struct Bnode *right;
}Bnode;
Bnode *btlnsert(int x,Bnode *root)
//root为二叉排排序树的根指针,x为新节点的关键字值
{
Bnode *p,*q;
int flag=0;//是否完成插入的标志
p=(Bnode *)malloc(sizeof(Bnode));
p->key=x;//为新节点关键字赋值
p->right=NULL;//新节点要作为叶子结点插入
p->left=NULL;
if(root==NULL)
{
root=p;
return p;
}
q=root;
while(flag==0)//标志完成插入
{
if(q->key>x)
{
if(q->left!=NULL)
q=q->left;
else
{
q->left=p;//在左子数插入
flag=1;
}
}
else
{
if(q->right!=NULL)
q=q->right;
else
{
q->right=p;//在右子树插入
flag=1;
}
}
}
return root;
}
void Inorder(struct Bnode *BD)
{
if(BD!=NULL)
{
Inorder(BD->left);
printf("%5d", BD->key);
Inorder(BD->right);
}
}
void main()
{
int i,length;
int a[MAX];
Bnode *root=NULL;
printf("输入数组大小:");
scanf("%d",&length);
for(i=0;i<length;i++)
{
scanf("%d",&a[i]);
root=btlnsert(a[i],root);
}
printf("输出所给排序为:\n");
Inorder(root);
}
二叉排序树.rar
需积分: 0 92 浏览量
更新于2024-02-20
收藏 724B RAR 举报
初学C语言必须掌握的一些基础知识,包括直接选择排序、直接插入排序、冒泡排序、快速排序。
查找算法,二叉排序树,二叉树层次遍历,二叉树非递归遍历,二叉树的建立,关键字匹配查找等。
如有问题,可随时私信。
初学C语言必须掌握的一些基础知识,包括直接选择排序、直接插入排序、冒泡排序、快速排序。
查找算法,二叉排序树,二叉树层次遍历,二叉树非递归遍历,二叉树的建立,关键字匹配查找等。
如有问题,可随时私信。
初学C语言必须掌握的一些基础知识,包括直接选择排序、直接插入排序、冒泡排序、快速排序。
查找算法,二叉排序树,二叉树层次遍历,二叉树非递归遍历,二叉树的建立,关键字匹配查找等。
如有问题,可随时私信。
嘻嘻爱编码
- 粉丝: 1008
- 资源: 241
最新资源
- 橙色欧美风格的房地产企业网站源码下载.zip
- 橙色欧美风格的房地产建筑企业网站源码下载.zip
- 橙色欧美风格的钢铁重工业整站网站源码下载.zip
- 橙色欧美风格的高端室内设计企业网站源码下载.zip
- 橙色欧美风格的高端汽车保养企业网站源码下载.zip
- 橙色欧美风格的工业建筑工程企业网站源码下载.zip
- 橙色欧美风格的公益组织企业网站源码下载.zip
- 橙色欧美风格的工业生产企业网站源码下载.zip
- 铝合金挤压成形技术及表面处理、阳极氧化与喷涂、焊接新工艺和挤压设备、模具设计制造选用实用手册.pdf
- 橙色欧美风格的工业建筑设计整站网站源码下载.zip
- 铝合金、铝合金制品阳极氧化与表面处理及焊接新技术新工艺与牌号中外对照速查手册.pdf
- 橙色欧美风格的果汁饮品企业网站源码下载.rar
- 橙色欧美风格的婚礼鲜花服务企业网站源码下载.zip
- 橙色欧美风格的加油站企业网站源码下载.zip
- 橙色欧美风格的建筑设计施工整站网站源码下载.zip
- 橙色欧美风格的建筑施工企业网站源码下载.zip