关于数据结构(严蔚敏)C语言版算法2.7的问题
我看不出来是怎样将la,lb中的数据全并入lc中的,感觉第一个循环只能将两者之一插入,求教大神...
我看不出来是怎样将la,lb中的数据全并入lc中的,感觉第一个循环只能将两者之一插入,求教大神
展开
2个回答
展开全部
依代码行讲述,不含说明文字
void Mergelist.Sq(SqList La ,SqList Lb,Sqlist &Lc)
{
2. 开辟了La和Lb两个数组空间,pa和Pb分别指向首地址。
3. 定义Lc的数组长度
4.用Malloc函数开辟数组连续存储空间
5.开辟失败,返回。
6.pa_last指向la顺序表的最后一个地址空间
7.pb同上
8.当pa与pb没直到最后一个存储空间时(肯定是的,开始都指向头指针)
if 同时如果pa所指地址小于pb时(程序假定是系统随机的分配内存,pa与pb的指向首地址先后顺序不定) 先入pa所指的La到Lc中;
else 不然入pb所指Lb到Lc中;
12.要是pa所指没入完就入pa,(当pb指针在pa之前时);
13. 要是pb所指没入完就入pb,(当pa指针在pb之前时);
}
程序真是无比其妙,严谨性不言而喻
void Mergelist.Sq(SqList La ,SqList Lb,Sqlist &Lc)
{
2. 开辟了La和Lb两个数组空间,pa和Pb分别指向首地址。
3. 定义Lc的数组长度
4.用Malloc函数开辟数组连续存储空间
5.开辟失败,返回。
6.pa_last指向la顺序表的最后一个地址空间
7.pb同上
8.当pa与pb没直到最后一个存储空间时(肯定是的,开始都指向头指针)
if 同时如果pa所指地址小于pb时(程序假定是系统随机的分配内存,pa与pb的指向首地址先后顺序不定) 先入pa所指的La到Lc中;
else 不然入pb所指Lb到Lc中;
12.要是pa所指没入完就入pa,(当pb指针在pa之前时);
13. 要是pb所指没入完就入pb,(当pa指针在pb之前时);
}
程序真是无比其妙,严谨性不言而喻
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询