二叉排序树
来源:互联网 发布:淘宝买到假货怎么投诉 编辑:程序博客网 时间:2024/06/03 14:05
二叉排序树的创建、插入结点,并以中序遍历输出。
#include "stdio.h"#include "malloc.h"typedef struct TNode{int data;struct TNode *lchild, *rchild;}TNode, *BST;void create(BST &T); //创建根结点void insert(BST T, int k); //插入结点void comprison(BST &T, int k); //比较结点void inorder(BST T); //中序遍历int main(){int k;BST T;create(T);scanf("%d", &k);BST p = T;while(k != 0){comprison(T, k);scanf("%d", &k);}printf("中序遍历:");inorder(T);printf("\n");return 0;}//创建根结点void create(BST &T){int a;scanf("%d", &a);if(a != 0){T = (BST)malloc(sizeof(TNode));T->data = a;T->lchild = T->rchild = NULL;}}//插入结点void insert(BST T, int k){BST q;q = (BST)malloc(sizeof(TNode));q->data = k;q->lchild = q->rchild = NULL;if(k < T->data)T->lchild = q;elseT->rchild = q;}//比较结点void comprison(BST &T, int k){if(k == T->data){printf("请重新输入!\n");return;}else{if(k < T->data){if(T->lchild == NULL)insert(T, k);elsecomprison(T->lchild, k);}else{if(T->rchild == NULL)insert(T, k);elsecomprison(T->rchild, k);}}}//中序遍历void inorder(BST T){if(T != NULL){inorder(T->lchild);printf("%d ", T->data);inorder(T->rchild);}}
0 0
- 二叉排序树
- 二叉排序树
- 二叉排序树
- 二叉排序树
- 二叉排序树
- 二叉排序树
- 二叉排序树
- 二叉排序树
- 二叉排序树
- 二叉排序树
- 二叉排序树
- 二叉排序树
- 二叉排序树
- 二叉排序树
- 二叉排序树
- 二叉排序树
- 二叉排序树
- 二叉排序树
- double截取小数点两位
- ubuntu core 文件产生
- udelay(); mdelay(); ndelay(); msleep();
- Objective C中数组排序几种情况的总结
- IOS开发Q&A-IOS8定位应用定位失败及音频录制的相关参数-1
- 二叉排序树
- cocos2d-x之Android播放视频c++代码
- Spring Web MVC 的HandlerMapping的使用之-------BeanNameUrlHandlerMapping
- PHP使用BLOB存取图片信息实例
- MyEclipse 10 反编译插件jad.exe配置详解
- C# Winform绘制动态曲线
- 关于union
- 字符串面试题(一)字符串逆序
- 1156: 钟