声明:本文最初发表于《电脑编程技巧与维护》2006年第5期,版本所有,如蒙转载,敬请连此声明一起转载,否则追究侵权责任。网上发表于恋花蝶的博客http://lanphaday.bokee.com

  题目:从1亿个整数数中找出最大的1万个。

  拿到这道题,马上就会想到的方法是建立一个数组把1亿个数装起来,然后用for循环遍历这个数组,找出最大的1万个数来。原因很简单,因为如果要找出最大的那个数,就是这样解决的;而找最大的1万个数,只是重复1万遍而已。

  template< class T >
void solution_1( T BigArr[], T ResArr[] )
{
       for( int i = 0; i < RES_ARR_SIZE; ++i )
       {
              int idx = i;
              for( int j = i+1; j < BIG_ARR_SIZE; ++j )
              {
                     if( BigArr[j] > BigArr[idx] )
                            idx = j;
              }
              ResArr[i] = BigArr[idx];
              std::swap( BigArr[idx], BigArr[i] );
       }
}
solution_1

相关文章:

  • 2021-12-06
  • 2022-12-23
  • 2022-01-07
  • 2021-06-30
  • 2022-12-23
  • 2022-12-23
  • 2021-08-30
猜你喜欢
  • 2021-12-09
  • 2021-12-09
  • 2022-12-23
  • 2022-12-23
  • 2021-07-15
  • 2021-09-24
相关资源
相似解决方案