博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
基本二叉搜索树的第K小元素
阅读量:6591 次
发布时间:2019-06-24

本文共 1661 字,大约阅读时间需要 5 分钟。

1 #include
2 #include
3 typedef struct node *btlink; 4 struct node 5 { 6 int data; 7 btlink left; 8 btlink right; 9 int t;10 };11 12 btlink BT;13 void insert(btlink q, int x)14 { 15 btlink p = (btlink)malloc(sizeof(node)); 16 p->data = x; 17 p->left = NULL; 18 p->right = NULL;19 p->t=0;20 if(q == NULL)21 { 22 BT = p; 23 //printf("BT=%d\n",BT->t);24 return ; 25 } 26 while(q->left!=p&&q->right!=p)27 { 28 if(x
data)29 { 30 if(q->left)31 { 32 q->t++;33 q = q->left;34 } 35 else36 { 37 q->t++;38 q->left = p; 39 } 40 } 41 else42 { 43 if(q->right)44 { 45 q = q->right; 46 } 47 else48 { 49 q->right = p; 50 } 51 } 52 } 53 return;54 }55 void InOrder(btlink root,int k)56 {57 58 while(k!=root->t+1)59 {60 //printf("k=%d t=%d\n",k,root->t);61 if(k>root->t+1)62 {63 k=k-root->t-1;64 root=root->right;65 }66 else67 {68 69 root=root->left;70 }71 }72 printf("%d\n",root->data);73 }74 75 int main()76 {77 int n,i,index=0,x;78 char a[8];79 scanf("%d",&n);80 BT=(btlink)malloc(sizeof(node));81 BT=NULL;82 for(i=0;i
View Code

 

转载地址:http://dmzio.baihongyu.com/

你可能感兴趣的文章
手机版页面正式发布 html5取代wap(wml)
查看>>
centos7-修改主机名
查看>>
面试宝典系列-mysql面试基础题
查看>>
pymssql的简单使用
查看>>
微信硬件平台对接--蓝牙
查看>>
spring data for mongo
查看>>
开启 URL 重写
查看>>
Journey源码分析二:整体启动流程
查看>>
Shell特殊变量:Shell $0, $#, $*, $@, $?, $$和命令行参数
查看>>
七、MySQL中的字符集 - 系统的撸一遍MySQL
查看>>
centos7的php5.4竟然不支持原生的mysql
查看>>
使用IntelliJ IDEA开发SpringMVC网站(四)用户管理
查看>>
Maven依赖Scope标签用法
查看>>
堆排序的原理
查看>>
ajax加载数据到页面无法打印的解决办法
查看>>
js 验证中文
查看>>
MySQL给查询结果添加一表表示行号或名次(1)
查看>>
Linux下运行java DES AES加解密
查看>>
DataNode 运行状况
查看>>
牛津词典 2018 年度词汇 ——「有毒」!
查看>>