一、代码

  • #include<stdio.h>
    #include<stdlib.h>
    #define N 10
    int a[N]={3,2,5,8,4,7,6,9,1,10};typedef struct tree
    {int data;struct tree *lchild;struct tree *rchild;
    }BitTree;void Sort_Tree(BitTree *bt,int key)  //在二叉排序树中插入查找关键字key;
    {BitTree *parent;BitTree *p=(BitTree *)malloc(sizeof(BitTree));p->data=key;               //保存结点数据;p->lchild=p->rchild=NULL;  //左右子树置空;BitTree *head=bt;while(head)                //查找关键字所在的位置;{parent=head;if(key<head->data)     //如果关键字小于结点的数据;head=head->lchild; //在左子树上查找;else                   //若关键字大于结点的数据head=head->rchild; //再右子树上查找;}//判断添加到左子树还是右子树;if(key<parent->data)  //小于父结点;parent->lchild=p; //添加到左子树;else                  //大于父结点;parent->rchild=p; //添加到右子树;
    }//中序遍历输出二叉排序树;
    void InOrder(BitTree *bt)
    {if(bt)  //树不为空,则执行如下操作;{InOrder(bt->lchild);   //中序遍历左子树;printf("%d ",bt->data);  //输出结点数据;InOrder(bt->rchild);  //中序遍历右子树;}
    }int main(void)
    {int i;BitTree *bt;  //保存二叉排序树根结点;printf("原数据:\n");for(i=0;i<N;i++)printf("%d ",a[i]);printf("\n\n");//初始化根结点;bt=(BitTree *)malloc(sizeof(BitTree));bt->data=a[0];bt->lchild=bt->rchild=NULL;//将其他数组数据进行排序;for(i=1;i<N;i++)Sort_Tree(bt,a[i]);printf("遍历二叉排序树:\n");InOrder(bt);printf("\n");return 0;
    }

二、结果

C语言实现二叉树排序相关推荐

  1. 二叉树排序——c语言实现

    文章目录 本文二叉树排序实现的功能 二叉排序树的定义 二叉排序树样例图解 c语言代码 本文二叉树排序实现的功能 输入一串数字,输出从小到大的排序. 二叉排序树的定义 二叉排序树要么是空二叉树,要么具有 ...

  2. C语言:利用排序二叉树进行排序

    C语言:利用排序二叉树进行排序 标签: C语言 二叉树 排序 by 小威威 1.引入 排序二叉树属于二叉树的一种,其主要特色在于构建二叉树与输出二叉树.二叉树的子树很有特点:左子树小于根结点,根结点小 ...

  3. C语言实现 二叉树 对任意类型数据的遍历、叶子节点统计、树高计算

    本文主要实现C语言对二叉树的构造,可存储所有类型数据,实现数据域的遍历,本文主要介绍递归的遍历方法,含详细图文:以及树高.叶子节点的计算等. 1 二叉树构造 typedef struct Tree / ...

  4. R语言dplyr包排序及序号函数实战(row_number、ntile、min_rank、dense_rank、percent_rank、cume_dist)

    R语言dplyr包排序及序号函数实战(row_number.ntile.min_rank.dense_rank.percent_rank.cume_dist) 目录 R语言dplyr包排序及序号函数实 ...

  5. php二叉树 排列,PHP 如何实现用户二叉树排序需求

    用户二叉树排序需求 用户注册,输入以下注册信息: - 电子邮箱 - 密码 - 确认密码 - 推荐人ID(此ID可以在数据库中手动增加一个) 每注册进一个新用户,该用户就进入到排序中 排序规则 新增用户 ...

  6. Algorithm:C++语言实现之内排序、外排序相关算法(插入排序 、锦标赛排序、归并排序)

    Algorithm:C++语言实现之内排序.外排序相关算法(插入排序 .锦标赛排序.归并排序) 目录 一.内排序 1.插入排序 2.锦标赛排序 3.归并排序 二.外排序 1.过程 一.内排序 1.插入 ...

  7. C语言求二叉树的垂直总和(附完整源码)

    C语言求二叉树的垂直总和 C语言求二叉树的垂直总和完整源码(定义,实现,main函数测试) C语言求二叉树的垂直总和完整源码(定义,实现,main函数测试) #include <iostream ...

  8. C语言判断二叉树是否为二叉搜索树(附完整源码)

    C语言判断二叉树是否为二叉搜索树 C语言判断二叉树是否为二叉搜索树完整源码(定义,实现,main函数测试) C语言判断二叉树是否为二叉搜索树完整源码(定义,实现,main函数测试) #include ...

  9. C语言反转二叉树的递归和迭代解决方案(附完整源码)

    C语言反转二叉树的递归和迭代解决方案 C语言反转二叉树的递归和迭代解决方案完整源码(定义,实现,main函数测试) C语言反转二叉树的递归和迭代解决方案完整源码(定义,实现,main函数测试) #in ...

最新文章

  1. 【052】测试数据引发的骚乱
  2. OEL7.2下Oracle11.2.0.4RAC部署
  3. linux 添加网关 多张,linux – 更改默认网关,多个NIC
  4. zabbix对网站web监控(配置模板)
  5. 技术实践:教你用Python搭建gRPC服务
  6. 基于JAVA+Servlet+JSP+MYSQL的客户充值缴费管理系统
  7. IMU预积分公式推到及代码解析
  8. Atitit 财政赤字解决方案
  9. linux上的c语言开发环境搭建,c语言开发环境(c语言开发环境搭建)
  10. H.264协议:Annex B格式和AVCC格式
  11. 关于ubuntu开机菜单栏和任务栏不见了的有效解决方法
  12. 技校自我鉴定范文计算机600字,技校自我鉴定100字范文18篇
  13. Githut Token (hidden): Githut 安装验证
  14. 自考《数据库系统原理》(3)之关系模式设计理论
  15. linux刻录光盘空间不足,解决Linux下刻录光盘问题
  16. Gos ——内存管理系统
  17. 85D - Sum of Medians
  18. 如何选择数据拆分方法:不同数据拆分方法的优缺点及原因
  19. sniper安装配置
  20. 如何让google,baidu,Yahoo收录你的网站

热门文章

  1. 阿里云成为Hyperledger超级账本全球会员,发力区块链生态建设
  2. 模拟器安装xposed框架
  3. 红黑树理解(四) 左旋
  4. javascript 字符串转对象
  5. 华南理工大学电子商务系管科面试记录
  6. 微信小游戏如何自己插入广告
  7. testWhileIdle和testOnBorrow
  8. 学习使我快乐 第七天
  9. 网络有时不到计算机,电脑WiFi网络不稳定,有时有有时无怎么办
  10. 微博引流:五大高效核心策略带你玩转微博实战引流(100%独家原创)