试验汇报( 五) 专业名称课程名称批改教师主持教师试验成绩校外评阅教师试验名称 查找 使用重要设备 PC , VC++6.0 试验规定 1. 掌 握 折 半 查 找 的 算 法 环 节 和 实 现 措 施 ; 2 . 掌 握 二 叉 排 序 树 的 性 质 、 构 造 措 施 ; 3 .按试验内容完毕有关程序 , 并用实例进行测试 , 验证其对的性 。 试验汇报内容: 试验 5.1 折半查找 设计程序代码如下:#include#include#define N 5struct student{char name[10];float avg;}void insort(struct student s[],int n){int low,hight,mid,k;char y[10];float x;low=1;hight=n;strcpy(y,s[0].name );x=s[0].avg ;while(low<=hight){mid=(low+hight)/2;if(x>s[mid].avg )hight=mid-1;else low=mid+1;}for(k=0;k#include#define MAX 5typedef struct Bnode{int key;struct Bnode *left;struct Bnode *right;}Bnode;Bnode * btInsert(int x,Bnode *root);void Inorder(Bnode *root);void main(){int i;int a[MAX]={60,40,70,20,80};Bnode * root=NULL;printf("按关键字序列建立二叉排序树\n");for(i=0;ikey=x;p->right=p->left=NULL;if(root==NULL){root=p;return p;}q=root;while(flag==0){if(q->key>x){if(q->left!=NULL)q=q->left;else{q->left=p;flag=1;}}else{if(q->right!=NULL)q=q->right;else{q->right=p;flag=1;}}}return root;}void Inorder(Bnode *root) { if(root!=NULL) { Inorder(root->left); printf("%d ",root->key); Inorder(root->right); } } 程序运行成果如下: