首页 > 编程语言 > 详细

二叉排序树的实现

时间:2020-07-17 15:24:19      阅读:75      评论:0      收藏:0      [点我收藏+]

源程序:

#include "stdio.h"
#include "stdlib.h"

typedef struct tnode
{
int id;
int score;
struct tnode *lchild,*rchild;
}stu;
void Ins_Student(stu **p,long id,int score)
{
stu *s;
if(*p ==NULL)
{
s=(stu *)malloc(sizeof(stu));
s->id=id;
s->score=score;
s->lchild=NULL;
s->rchild=NULL;
*p=s;
}
else if(score<( *p)->score)
Ins_Student(&(( *p)->lchild),id,score);
else
Ins_Student(&(( *p)->rchild),id,score);
}
stu *Create_Student()
{
int id,score;
stu *root;
root=NULL;
printf("请输入学号和成绩(用,隔开,用0结束:)");
printf("\n--------------------------------\n");
printf("学号,成绩:");
scanf("%ld,%d",&id,&score);
while(score!=0)
{
Ins_Student(&root,id,score);
printf("学号,成绩:");
scanf("%ld,%d",&id,&score);
}
printf("\n--------------------------------\n");
return root;
}
void In_Order(stu *bt)
{
if(bt!=NULL)
{
In_Order(bt->lchild);
printf("%ld,%d\n",bt->id,bt->score);
In_Order(bt->rchild);
}
}
void main()
{
stu *root;
root=Create_Student();
printf("排序后的结果:\n");
printf("学号,成绩:\n");
In_Order(root);
}

运行结果:

技术分享图片

二叉排序树的实现

原文:https://www.cnblogs.com/duanqibo/p/13329348.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!