精选优质文档-----倾情为你奉上实验报告五 查找(学科:数据结构 )姓名 单位 班级 学号 实验日期 成绩评定 教师签名 批改日期 实验名称:实验五 查找5.1 折半查找【问题描述】某班学生成绩信息表中,每个学生的记录已按平均成绩由高到低排好序,后来发现某个学生的成绩没有登记到信息表中,使用折半查找法把该同学的记录插入到信息表中,使信息表中的记录仍按平均成绩有序基本信息】(1) 建立现有学生信息表,平均成绩已有序2) 输入插入学生的记录信息3) 用折半查找找到插入位置,并插入记录测试数据】自行设计实验提示】(1) 用结构数组存储成绩信息表2) 对记录中的平均成绩进行折半查找实验报告内容】设计程序代码如下:#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
基本要求】(1) 掌握建立二叉排序树的原理和方法2) 能跟踪程序人工建立二叉排序树实验报告内容】设计程序代码如下:#include#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); } }程序运行结果如下:专心---专注---专业。