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