computer 版 (精华区)

发信人: gutentag ( Bonjour && deeply in LOVE on the web ), 信区: program
标  题: Re: 找第n个最小数
发信站: 听涛站 (2001年10月13日21:20:16 星期六), 站内信件

何必做得这么花哨呢?其效率还不如老老实实
从头到尾比一遍快呢,只需要比较 i-1 次

你的算法也是比较 i-1 次,
( i=2 比较       1 次
  i=4 比较 1*2+1=3 次
  i=8 比较 3*2+1=7 次
  i=16比较 7*2+1=15次)
但是递归要占很多的资源呀

【 在 remember (Learning C++) 的大作中提到: 】
:   显然,如果只需要找最小数我们可以用如下方式:
:   int find_smallest(int i, int numbers[], int &result, int n=1)
:   {
:      if (i==1){
:        result = numbers[0];
:      }else if (i==2){
:        if (numbers[0]<numbers[1])
:            result = numbers[0];
:        else
:            result = numbers[1];
: .................(以下省略)

--
【Bonjour && deeply in LOVE on the web】  

                春が来た、春が来た、どこに来た。
                山に来た、郷に来た、野にも来た。

※ 来源:·听涛站 tingtao.dhs.org·[FROM: 匿名天使的家] 
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:1.976毫秒