《高级语言程序设计(c)6查找-补充.ppt》由会员分享,可在线阅读,更多相关《高级语言程序设计(c)6查找-补充.ppt(9页珍藏版)》请在三一办公上搜索。
查找,梁春燕华北电力大学信息管理教研室,查找,查找也叫检索,是根据给定的某个值,在表中确定一个关键字等于给定值的记录或数据元素关键字是数据元素中某个数据项的值,它可以标识一个数据元素,顺序查找查找过程:从表的一端开始逐个进行记录的关键字和给定值的比较算法描述,64,监视哨,int SeqSearch(int R,int n,int k)int i;R0=k;/监视哨 for(i=n;Ri!=k;i-);return i;/0 查找失败,其他 查找成功,折半查找查找过程:每次将待查记录所在区间缩小一半适用条件:采用顺序存储结构的有序表算法实现设表长为n,low、high和mid分别指向待查元素所在区间的上界、下界和中点,k为给定值初始时,令low=1,high=n,mid=(low+high)/2让k与mid指向的记录比较若k=rmid.key,查找成功若krmid.key,则low=mid+1重复上述操作,直至lowhigh时,查找失败,int BinSearch(int R,int n,int k)int low=1,high=n,mid;while(low=high)mid=(low+high)/2;if(k=Rmid)return mid;if(k Rmid)high=mid-1;else low=mid+1;return 0;,算法描述,