高手告诉我这个算法题怎么做啊?

wscbzz 2008-09-16 01:06:53
有数据类型为整型的顺序表La和Lb,其数据元素均按从小到大的升序排列,编写一个算法将它们合并成一个表Lc,要求Lc中数据元素也按 升序排列

感觉C#数据结构的书上讲得不对,觉得现在没几本讲C#数据结构的书好

高手能详细帮我解答下吗??谢谢了
...全文
97 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
LovingAlison 2008-09-16
  • 打赏
  • 举报
回复
2楼的很实用 效率也比较高的
sxmonsy 2008-09-16
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 Inpool 的回复:]
C# code
int i=0,j=0;
while(i<la.length&&j<lb.length)
{
lc[i+j]=(la[i]<lb[j])?la[i++]:lb[j++];
}
while(i<la.length)
lc[i+j]=la[i++];
while(j<lb.length)
lc[i+j]=lb[j++];




运行完Lc就是你要的那个了
[/Quote]
友情UP下吧
Wesley 2008-09-16
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 Inpool 的回复:]
C# codeinti=0,j=0;while(i<la.length&&j<lb.length)
{
lc[i+j]=(la[i]<lb[j])?la[i++]:lb[j++];
}while(i<la.length)
lc[i+j]=la[i++];while(j<lb.length)
lc[i+j]=lb[j++];

运行完Lc就是你要的那个了
[/Quote]
Inpool 2008-09-16
  • 打赏
  • 举报
回复

int i=0,j=0;
while(i<la.length&&j<lb.length)
{
lc[i+j]=(la[i]<lb[j])?la[i++]:lb[j++];
}
while(i<la.length)
lc[i+j]=la[i++];
while(j<lb.length)
lc[i+j]=lb[j++];


运行完Lc就是你要的那个了
Inpool 2008-09-16
  • 打赏
  • 举报
回复
同意3楼的
既然La和Lb都是已经排好序的,只要拿La的第一个元素和Lb的第一个元素比,小的那个插到Lc中,哪果La中的那个小就再拿La的第二个和Lb的第一个比,反之亦然,就这样比下去就行了
BinaryTreeEx 2008-09-16
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 vrhero 的回复:]
数据结构是数据结构...C#是C#...没有讲C#数据结构的书是正常的...

不要把C#当C用...

just sample...
C# codeint[] La={1,4,5,7,13,15};int[] Lb={2,4,6,11,12,19};

List<int>c=newList<int>();

c.AddRange(La);
c.AddRange(Lb);

c.Sort();int[] Lc=c.ToArray();
[/Quote]

很明显是作业题,这么做的话肯定零分
vrhero 2008-09-16
  • 打赏
  • 举报
回复
数据结构是数据结构...C#是C#...没有讲C#数据结构的书是正常的...

不要把C#当C用...

just sample...
int[] La = { 1, 4, 5, 7, 13, 15 };
int[] Lb = { 2, 4, 6, 11, 12, 19 };

List<int> c = new List<int>();

c.AddRange(La);
c.AddRange(Lb);

c.Sort();

int[] Lc = c.ToArray();
freshcoder123 2008-09-16
  • 打赏
  • 举报
回复
管它什么 算法啊 结构的
你把两个链表里的数据放Arraylist里 sort下 在放回LC不就得了。。。

编程新手论坛http://freshcoder.5d6d.com/bbs.php

111,097

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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