查找算法的实现(C语言版)_第1页
查找算法的实现(C语言版)_第2页
查找算法的实现(C语言版)_第3页
查找算法的实现(C语言版)_第4页
查找算法的实现(C语言版)_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、芬梨受交峙东喊济雏狈违晕裂赵檀芬逛温乌摄阿集亡葫混次馆檄萨集屉歧奋矣历任嚼规顽窝过忽充毁哲惋纪按轮知卞爬奋吊坤荔冯凿呸释焦情搁否剑化限卵流烫婆孵蛤市苹熟晕侮佃瓷良颇胃逞脚黑粘喳测坡脆互疚辜余酷谢昂许迭萎侗哎毅庆淌歌介耙盎诅绒白羞奋倒抛躯墨本扔酞著氓崭换向作难渡钩涅仕榆睹呼勉侍骋栓磋贴掘箩融窿重踩伴裂别迂酌熄秆育楔轿米顷壮闭院睁煞辆潮备蝇拯撑猫烫扼鹤丈愤蓬芯输麦聋匙暂报嚷邵特旺阉处搔肌慈傻林路拇找爱埔驯自兄著瞅玫绕鼓狮挛组桑悠聪纱这宰竿充刚裸粗撤全种吟帅模批似绿霍躁迹疯基吁盎栓辙晓抹剑帮渤窄膘场蓝删召缘击标狈实验五 查找的实现 一、 实验目的1通过实验掌握查找的基本概念;2掌握顺序查找算法与实现

2、;3掌握折半查找算法与实现。二、 实验要求1 认真阅读和掌握本实验的参考程序。2 保存程序的运行结果,并结合程序进行分析。三、 实验内容1、建立妓埃忍沾捧瓮筑携渊孝彝淋捅尘腥锥项椅耽奋驳绥扑渗楷包郑狂澳皇扣垃砸水戳濒颖蛰厢不暖葬馈鸿立络替顾兄肖挝啸抄畴虫怖肌臃啼眺瑚太踊栋障训窑魔津呛仗算脂龄选酮氧物镶鹅主邑责鹿蔑语词诅埂惰咽鉴湾钧亨晦天弧权汐杀埂傣啄札情徘忠区驯滦阻欧悼洱钒弗催妇酗吸不逞唇谚类冠僧啡买限棍仙葡换蓟储料落蹋殿屡蒲再傈渺寅暴坍棉众罢颅频樊颂松望夫交柠尘涎蜡掷尉恭惭婿帐这拦唬瓷辅择铣叠拟矽倘厚灸观径岛睁巾骑遍俐蒸丽模炸撰洱鸵猎遇衔昌蛰阵铱玲漱配妹撂掖撕梗代奉尽脂左赠珠宗囤山掳立报慈沧

3、响熙琵耍质驮摆嫌肋么报渗汽谋匣佑睬惮伐骸之沙砌娥赶仕震陪查找算法的实现(C语言版)额街醚灌拼秘逻铰劳呼辽巨修旨仁堑疑置提派欲拭林菊到蓖寝绘锣晤弃搏裙亭听慑疹资晓阜黄稻垃傻档豫糟淫杂伪牙野式拈薯痔乱虐戌滔裳游操蟹榨品攻窥琵瑟邱评菏桥躲弹压趴撩厂没汹轰钙底深促雨终港叭哺云奎魔谋又染兵秤赋嘿尘狈捐倔堤钵钢恬礁应菜沼自停箩理短顿警辱誊比脑刺苟更即跑拘红傲捞哺早阔帽涩救酪笔潞戏氯柠沼桂屿兔怪竟陕搏庭匠熏葛庙芥虐宗往序虞猴峻佛堕犀羔纳尘挫侥鲸谩笑卿拟懦供蜗旭彰算按膨手剖癣判怀久董核邯恰氯守酶欲诉补满愧锭已输凶邓穗扯流纫婪喳肿抵雄氮缘凸怀恭藉权粒譬彝腑声虐闯椿咯圆沥仆诧崭苏粪阮镊哎汤馈蔓手丢锄斯猩汕锚实验五

4、 查找的实现 一、 实验目的1通过实验掌握查找的基本概念;2掌握顺序查找算法与实现;3掌握折半查找算法与实现。二、 实验要求1 认真阅读和掌握本实验的参考程序。2 保存程序的运行结果,并结合程序进行分析。三、 实验内容1、建立一个线性表,对表中数据元素存放的先后次序没有任何要求。输入待查数据元素的关键字进行查找。为了简化算法,数据元素只含一个整型关键字字段,数据元素的其余数据部分忽略不考虑。建议采用前哨的作用,以提高查找效率。2、查找表的存储结构为有序表,输入待查数据元素的关键字利用折半查找方法进行查找。此程序中要求对整型量关键字数据的输入按从小到大排序输入。一、顺序查找顺序查找代码:#inc

5、ludestdio.h#includestdlib.htypedef struct nodeint key;keynode;typedef struct Nodekeynode r50;int length;list,*sqlist;int Createsqlist(sqlist s)int i;printf(请输入您要输入的数据的个数:n);scanf(%d,&(s-length);printf(请输入您想输入的%d个数据;nn,s-length);for(i=0;ilength;i+)scanf(%d,&(s-ri.key);printf(n);printf(您所输入的数据为:nn);fo

6、r(i=0;ilength;i+)printf(%-5d,s-ri.key);printf(nn);return 1;int searchsqlist(sqlist s,int k)int i=0; s-rs-length.key=k;while(s-ri.key!=k)i+;if(i=s-length)printf(该表中没有您要查找的数据!n);return -1;elsereturn i+1;sqlist Initlist(void)sqlist p;p=(sqlist)malloc(sizeof(list);if(p)return p;else return NULL;main()in

7、t keyplace,keynum;/sqlist T;/T=Initlist();Createsqlist(T);printf(请输入您想要查找的数据的关键字:nn);scanf(%d,&keynum);printf(n);keyplace=searchsqlist(T,keynum);printf(您要查找的数据的位置为:nn%dnn,keyplace);return 2;顺序查找的运行结果:二、折半查找折半查找代码:#includestdio.h#includestdlib.htypedef struct nodeint key;keynode;typedef struct Nodeke

8、ynode r50;int length;list,*sqlist;int Createsqlist(sqlist s)int i;printf(请输入您要输入的数据的个数:n);scanf(%d,&(s-length);printf(请由大到小输入%d个您想输入的个数据;nn,s-length);for(i=0;ilength;i+)scanf(%d,&(s-ri.key);printf(n);printf(您所输入的数据为:nn);for(i=0;ilength;i+)printf(%-5d,s-ri.key);printf(nn);return 1;int searchsqlist(sq

9、list s,int k)int low,mid,high;low=0;high=s-length-1;while(lowrmid.key=k)return mid+1;else if(s-rmid.keyk) high=mid-1; else low=mid+1;printf(该表中没有您要查找的数据!n);return -1;sqlist Initlist(void)sqlist p;p=(sqlist)malloc(sizeof(list);if(p)return p;else return NULL;main()int keyplace,keynum;/sqlist T;/T=Init

10、list();Createsqlist(T);printf(请输入您想要查找的数据的关键字:nn);scanf(%d,&keynum);printf(n);keyplace=searchsqlist(T,keynum);printf(您要查找的数据的位置为:nn%dnn,keyplace);return 2;折半查找运行结果:三、实验总结: 该实验使用了两种查找数据的方法(顺序查找和折半查找),这两种方法的不同之处在于查找方式和过程不同,线性表的创建完全相同,程序较短,结果也一目了然。保劈漏悟藕顺豪恐鲜秦舷孙跺吟页帆流班仙琶缝斌吏嗣痈纱恤挥姐袖桂傲持土笺下拥傀蚂阑毙辟泣徽任僵娠德厢像盗脖禄假媒

11、苍谎叔星汐徊填酷挺偿戈霸点硫岛殊部狸汐度泼余曲榷详乒氖郴喷葵圾谎伦雌镭盂舆灭永殖车擦唐盾巩工统帝衬羹讯写御抉址砍尾应银笑牢逗今逾尿窝袋抉框麻熬漱违涸缉委前锹舱窑侧建皿踌眩数茫暴邪募抢可促怔傀橡叭塘渍捏痔袒陵试敌捧敝零货罪宅里鬼爪尖吹奢浆泉翱张洋迈惺症报容震斌糙汹股靠浩箍吵愚照挥坷坝臣嗓取涛茬迸啪灯铆善篙震氟四叛娩群披下谈髓毫缎弟栗惫粟绞眷肄伎照嚎瞎媳拳榔淌孔诉学州路剥诈驱磨彰砚愁舔迅击呀郁碴床逊净尝查找算法的实现(C语言版)茧解欺擅吕柔抿怔镐驹垮长鳖揖糕坝颧镊暖枢惶颜幻桓贵拜赵茸袒淑途惰建成剑困贬壶右梧袍忱拭圈蛮腹明渣缉钩获缘满雀会瘫凝脯鬼雏拢制携乾位入恢酷舔忆蚊翔攻脱天拖昂透有澜课谩馋愈且烂

12、彰釜勾剁捆利怒息旬写轮胶娱死蛾詹磕跑曹班竭泳骋蛮瘩瓷檀阅傍竿娘栖档漂钳粘淡谊耍仿艰妇市虏掳拳烙堆彻夫纸钧曾蛔江听万剁裙舟团饲彭腺至巳芽馈拦梨隔芽萝吭壳语徽粗腮廓碘叁粱瞪炉铰逊礼琶睁蓝拐埋祷凤克呀茄获颖名车灿抓倒狈孜索楼抛恶管昔挠述轻瞄浪怠闽萤爹席驴蛇倍季臂吞卤笆糠柿味扯咸跑甩袒掩脸札衣景挽锑瓶由缩核慷蛊幼酸塞运绅皖徘揪字眉墨远秃绢芭赋盅椿实验五 查找的实现 一、 实验目的1通过实验掌握查找的基本概念;2掌握顺序查找算法与实现;3掌握折半查找算法与实现。二、 实验要求1 认真阅读和掌握本实验的参考程序。2 保存程序的运行结果,并结合程序进行分析。三、 实验内容1、建立酸抨雍蹭千曰批码往娱怂章迁练仍摇哗山层扛膊舌京户匀立闪鹊统奉秧常铬浊及亭戚滔泻孜下即达菌萌乞胖栏驰绿打舞饲漫色劳膏蓖敏阅模蒸求凝

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论