Page 124 - 高中 信息技术 选择性必修1 数据与数据结构
P. 124

第五章  数据结构的应用







                      找出该商品的信息,方便顾客查找商品。下面是顺序查找算法的核心代码:
                           int search(ShangPinType a[],int k,int n)
                           //在有n个元素的数组a中查找k
                           {

                               for(int i=0; i<n; i++)                   //顺序依次查找
                               if(k==a[i].BianHao) return i;  //查找成功,则返回数组下标
                               return -1;                               //查找失败,返回-1
                           }

                           查询促销商品信息的完整程序请参阅教科书配套学习资源包,程序运行界面如图5-4
                      和图5-5所示。
                                             广东教育出版社
















                                                         图5-4 输入查找商品的编号














                                                            图5-5 显示查找结果



                        5.2.2 二分查找




                           顺序查找虽然能帮助顾客查找到所需信息,但由于超市销售的商品种类繁多,数据
                      量比较大,而顺序查找每次都要从头到尾去查找,需要花费不少时间,很多顾客没有耐
                      心长时间等待查询结果。所以查找的速度必须要快,可以考虑用查找速度更快的二分查
                      找来实现。
                           二分查找又称折半查找,是针对顺序存储的有序表(有序表是指各元素按关键字的值
                      以升序或降序存放的表)进行的查找,它是一种较常用的查找方法。在按升序存储的顺序

                      表a中查找k,其二分查找算法流程如下:
                           (1) 选取查找范围a[0]~a[n-1]。
                           (2) 选定查找范围的中点元素a[mid],与k值比较。


             116 116







          21X2204.indd   116                                                                                       2019/9/26   13:53:38
   119   120   121   122   123   124   125   126   127   128   129