首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 其他开发语言 >

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

2012-02-03 
10000个数中求第二大的数,不能用排序法10000个数中求第二大的数,不能用排序法(使用c或者c#)[解决办法]遍历

10000个数中求第二大的数,不能用排序法
10000个数中求第二大的数,不能用排序法(使用c或者c#)

[解决办法]
遍历可以吧?

伪代码:

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

依次遍历total_num,readnum_from_file(i)并
和biggest和bigwant比较,按照大小调整b0,b1的值。
[解决办法]
第一步求最大值;
第二步在余下的元素中再取最大值。
第三步完成!
[解决办法]
设第一数是最大值,跟第二个数判断...

然后遍历整个数组...
[解决办法]
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;
}
}
}
}
[解决办法]
预置一个两个数的缓冲区(你可以直接用数组,或者两个变量),遍历,只要比这两个数中的任何一个大就替换掉。最后缓冲区里面小的那个就是第二大的,当然遇上相等的你要忽略。

热点排行