欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    数据结构折半排序查找.doc

    • 资源ID:2396680       资源大小:109KB        全文页数:4页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数据结构折半排序查找.doc

    折半查询一、 实验目的1,掌握排序算法及基本思想及实现的技术;能够根据实际问题特点的要求选择合理的排序方法,理解排序在数据处理中的重要性;2. 学会比较各种排序方法的稳定性分析以及在最好 、最坏和平均情况的时间性能分析。3. 掌握顺序查找和折半查找两种查找的算法及实现技术;了解它们各自的优缺点。4. 熟悉各种查找方法的适用范围和条件;掌握顺序查找、折半查找的基本思想及效率分析。二、 实验环境1. 硬件:每个学生需配备计算机一台。操作系统:DOS或Windows2. 软件:DOS或Windows操作系统+Turbo C;三、 实验要求1. 本次实验较为简单,每个同学独立按时完成,通过实验掌握记录的概念,为以后数据库技术打好基础。2. 如果输入数据较为繁琐,可减低每个班的人数。3. 输入输出数据要有提示,方便用户操作。四、 实验内容1. 现在某个学院有20名同学分属于2个班级(Class1和Class2,每个班有10名同学,每个同学记录包括:班级、学号、姓名、性别、电话号码等信息)。2. 以学号为主关键字,以班级为次关键字,建立一个顺序表,表中的每个数据元素是一个记录,其中的某个域用来存储关键字的值,按关键字的值进行顺序查找。为分析排序方法的稳定性,关键字可用次关键字。#include "stdio.h"#include "malloc.h"#include "string.h"typedef struct int cla;int num;char name7;char sex;long phnum;stu_hc;typedef structstu_hc *elem;int length;int sum;sqlist_hc;sqlist_hc *initlist_hc()sqlist_hc *l;int n;l=(sqlist_hc*)malloc(sizeof(sqlist_hc);if(!l)printf("出错!n");printf("输入学生人数:");scanf("%d",&n);l->length=0;l->sum=n;l->elem=(stu_hc*)malloc(n*sizeof(stu_hc);if(!l->elem)printf("出错!n");return(l);int place_hc(sqlist_hc *l,int c,int num)int low,high,mid,j=-1,i;low=0;high=l->length-1;while(low<=high)mid=(low+high)/2;if(l->elemmid.num>num)high=mid-1;else j=mid;low=mid+1;i=j;for(j=mid;j>=i;j-)if(j=-1|num>l->elemj.num)break;else if(num=l->elemj.num&&c>l->elemj.cla)break;return(+j);void move_hc(sqlist_hc *l,int j)int i;for(i=l->length-1;i>=j;i-)l->elemi+1.cla=l->elemi.cla;strcpy(l->elemi+1.name,l->elemi.name);l->elemi+1.num=l->elemi.num;l->elemi+1.sex=l->elemi.sex;l->elemi+1.phnum=l->elemi.phnum;void createlist_hc(sqlist_hc *l)int i,j,c,num;char nam7,s;long p;printf("输入学生信息(class name num sex phonenum):n");for(i=0;i<l->sum;i+)flushall();scanf("%d %s %d %c %ld",&c,nam,&num,&s,&p);j=!(l->length)?0:place_hc(l,c,num);move_hc(l,j);l->elemj.cla=c;strcpy(l->elemj.name,nam);l->elemj.num=num;l->elemj.sex=s;l->elemj.phnum=p;l->length+;void seekstu_hc(sqlist_hc *l)int low,high,mid,num,c;printf("输入查找人的学号和班级号:");scanf("%d %d",&num,&c);while(num!=-1|c!=-1)low=0;high=l->length-1;while(low<=high)mid=(low+high)/2;if(l->elemmid.num<num)low=mid+1;else if(l->elemmid.num>num)high=mid-1;else if(l->elemmid.cla<c)mid+;else if(l->elemmid.cla>c)mid-;break;printf("%d,%s,%d,%c,%ldn",l->elemmid.cla,l->elemmid.name,l->elemmid.num,l->elemmid.sex,l->elemmid.phnum);printf("输入查找人的学号和班级号:");scanf("%d %d",&num,&c);void printlist_hc(sqlist_hc*l)int i,j=0;printf("当前表中信息如下:class/name/num/sex/phonenumn");for(i=0;i<l->sum;i+)printf("%d/%s/%d/%c/%ld ",l->elemi.cla,l->elemi.name,l->elemi.num,l->elemi.sex,l->elemi.phnum);if(+j=3)j=0;printf("n");printf("n");main()sqlist_hc *l;l=initlist_hc();createlist_hc(l);printlist_hc(l);seekstu_hc(l);printf("作者:黄晨");

    注意事项

    本文(数据结构折半排序查找.doc)为本站会员(仙人指路1688)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开