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

 5.4 算法与数据结构的联系与区别






                         struct ShangPin_1

                         {
                          int BianHao;           //商品编号

                          int Month;             //月份
                          int Total;             //本月销量总额
                         };
                         其算法实现如下所示(完整程序可参阅教科书配套学习资源包):

                         int Query_1(ShangPin_1 a[],int c,int BH,int Yue)
                         //在有c个元素的顺序表a中查找商品编号为BH的Yue月的销售总额

                         {
                                             广东教育出版社
                           for(int i=0;i<c;i++)
                          {
                             if(a[i].BianHao==BH)

                               if(a[i].Month==Yue) return a[i].Total;
                          }
                           return -1;

                         }
                         方案二:全部数据放在一个表中,数据表包含商品编号和一个数组Total(Total[0..5]

                    分别存放对应1~6月的销售总额),共两个数据项,一个商品的数据对应一条记录,每个商
                    品1~6月的数据就只对应一条记录,用一维数组存储所有记录,数据结构如下所示:

                         struct ShangPin_2
                         {
                          int BianHao;           //商品编号
                          int Total[6];          //1~6月的销量总额

                         };
                         其算法实现如下所示(完整程序可参阅教科书配套学习资源包):

                         int Query_2(ShangPin_2 a[],int c,int BH,int Yue)
                         //在有c个元素的顺序表a中查找商品编号为BH的Yue月的销售总额
                         {
                          for(int i=0;i<c;i++)

                          {
                           if(a[i].BianHao==BH) return a[i].Total[Yue-1];

                          }
                          return -1;
                         }






                                                                                                                    129129







          21X2204.indd   129                                                                                       2019/9/26   13:53:45
   132   133   134   135   136   137   138   139   140   141   142