10000个数中求第二大的数,不能用排序法

liuchangfei 2009-12-09 07:34:12
10000个数中求第二大的数,不能用排序法(使用c或者c#)
...全文
169 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
liuchangfei 2010-04-16
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 yellowegg 的回复:]
我觉的5楼和2楼的思路是非常高效的啊,怎么才得了一分
[/Quote]只有那么多分了,我没分了
yellowegg 2010-04-14
  • 打赏
  • 举报
回复
我觉的5楼和2楼的思路是非常高效的啊,怎么才得了一分
CoolCodingMan 2009-12-23
  • 打赏
  • 举报
回复
预置一个两个数的缓冲区(你可以直接用数组,或者两个变量),遍历,只要比这两个数中的任何一个大就替换掉。最后缓冲区里面小的那个就是第二大的,当然遇上相等的你要忽略。
nanhaiyiou 2009-12-17
  • 打赏
  • 举报
回复
for(count = 0;count >= 10000;count++)
if (count == 0)
{
a11 = 数组[count];
}
else if(count == 1)
{
a22 = 数组[count];
if(strncmp(a22,a11,sizeof()-1) > 0 )
{
a33 = a11;
a11 = a22;
a22 = a33;
}
}
else
{
if(strncmp(数组[count],a11,sizeof()-1) > 0 )
{
a22 = a11;
a11 = 数组[count];
}
else
{
if(strncmp(数组[count],a22,sizeof()-1) > 0 )
{
a22 = cur0001;
}
}
}
}
gongsun 2009-12-14
  • 打赏
  • 举报
回复
设第一数是最大值,跟第二个数判断...

然后遍历整个数组...
nwei 2009-12-13
  • 打赏
  • 举报
回复
第一步求最大值;
第二步在余下的元素中再取最大值。
第三步完成!
大熊猫侯佩 2009-12-10
  • 打赏
  • 举报
回复
遍历可以吧?

伪代码:

long bigest = readnum_from_file(0);
long bigwant = readnum_from_file(1);

依次遍历total_num,readnum_from_file(i)并
和biggest和bigwant比较,按照大小调整b0,b1的值。

3,423

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 其他开发语言
社区管理员
  • 其他开发语言社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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