新手问一个关于链表的问题,急求,望各位大大帮解,在线等。

sosoyiyi 2009-01-22 11:41:40
题如下:一超市有A、B两个分店,每个分店有个数不等的货柜,每个货柜有种类不等的蔬菜,每种蔬菜有不同的数量,每个货柜和蔬菜有不同的名称(但是A、B两分店的货柜和蔬菜的名称可能有重复的)。现在A、B两个分店合并,相同的货柜合在一起,相同的蔬菜合在一起,得到合并后的数量。
用链表来描述分店的不同货柜,按货柜名称的字母升序排列,每个货柜的蔬菜也用链表来描述,按蔬菜名称的字母升序排列,请用C语言编写一个函数,实现两个分店的合并。
要求:该函数输入两个分店的链表,返回新店的链表。
要定义链表的数据结构,并编写出程序,要明确空间的申请、释放;只需编写“合并分店”的函数,不用处理输入、显示、创建初始链表等,且合并前两分店的链表已排序。
最好能给出一个完整的源程序,谢谢大家了。
...全文
85 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
绿色夹克衫 2009-01-23
  • 打赏
  • 举报
回复
应该是归并排序的思路。伪代码

while(p1!=null && p2 != null)
{
//物品相同
if(p1.item == p2.item)
p1.value = p1.value + p2.value;
else if(p1.item < p2.item)
p1++;
else if(p1.item > p2.item)
{
将p2插入到p1之前
p2++;
}
}
绿色夹克衫 2009-01-23
  • 打赏
  • 举报
回复
恩,不错,帮顶一个!
na2650945 2009-01-22
  • 打赏
  • 举报
回复

struct VNode
{
char name[10];
float Price;
struct VNode *next;
}Vegetables;
struct CNode
{
int NO;
Vegetables A;
struct CNode *next;
}Counters;

小定义下。
合并应该很好写吧。

33,008

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧