排序二叉树
2015-10-10 17:18
309 查看
#include<stdio.h> #include<string.h> #include<stdlib.h> struct node { int data; node *lc; node *rc; }; node* insert(node *p,int a) { if(p==NULL) { p=(node*)malloc(sizeof(node)); p->data=a; p->lc=NULL; p->rc=NULL; } else { if(a>p->data) p->rc=insert(p->rc,a); else p->lc=insert(p->lc,a); } return p; } void midput(node* p) { if(p!=NULL) { midput(p->lc); printf("%d ",p->data); midput(p->rc); } } int main() { node* p; int val,n; while(scanf("%d",&n)!=EOF) { p=NULL; for(int i=1;i<=n;i++) { scanf("%d",&val); p=insert(p,val); } midput(p); } return 0; }
相关文章推荐
- Windows安装Nginx并支持PHP
- java遍历文件夹详解
- Chrome浏览器扩展开发系列之十五:跨域访问的XMLHttpRequest对象
- GitHub Linux下使用方法
- 网络请求 post 的接受请求头的代理方法
- NSStringUIImage~NSData的相互转换以及中文转码
- JavaScript事件模型
- java实现登录功能
- java实现登录功能
- 食品"QS"标志将取,以后买食品请认准"SC"
- Android类-Service - ADIL
- NYoj+stack使用++runtime error概念基础知识不牢细节出错
- 《Learning From Data》读书笔记——引言
- java 时间字符串 比较先后
- android弹出对话框
- Eclipse SVN的相关说明及其快捷键 10个最有用的快捷键
- 线段树(1)----- 简单问题 hdu4553
- Linux系统调用和库函数调用的区别
- Redis发布订阅实现原理
- require