当前位置: 代码迷 >> C语言 >> 查找最大和最小
  详细解决方案

查找最大和最小

热度:168   发布时间:2008-05-16 11:14:45.0
查找最大和最小
写一个查找最大最小值的函数,假如作为面试题目你怎么写?

参考函数定义:
void FinMaxMin(int nList[], int nLen)
nList传入的数据,内容可被修改
nLen数据个数,从nList[0]到nList[nLen-1]是有效的
把找出的最大最小值直接输出显示即可

[color=white]

[[it] 本帖最后由 Q1007665007 于 2008-5-17 04:39 编辑 [/it]]
搜索更多相关的解决方案: nList  int  nLen  函数  定义  
本帖最近评分记录
2008-05-16 03:14:45
iFreeBSD

等 级:业余侠客
威 望:4
帖 子:474
专家分:236
注 册:2007-11-5
  得分:0 
直接进行一次,索引表头和表尾即可。
----------------解决方案--------------------------------------------------------
什么意思?
----------------解决方案--------------------------------------------------------
错了是进行一次排序
----------------解决方案--------------------------------------------------------
虽然排序可以,但还要想想有没有这个必要
----------------解决方案--------------------------------------------------------
有在2n-2次比较内查找的算法。有理论上最快的3n/2次比较的算法……看你要哪种…………
----------------解决方案--------------------------------------------------------
#include <stdio.h>

int FinMazMin(int nList[], int nLen);

main()
{
    int lst[] = {5, 6, 8, 7, 4, 2, 21, 33, 48, 7};
    printf("%d\n", FinMazMin(lst, 10));
}

int FinMazMin(int nList[], int nLen)
{
    int curMinData = nList[nLen - 1];
    for(int i = 0; i < nLen; i++)
        if(nList[i] < curMinData)
            curMinData = nList[i];
    return curMinData;
}
----------------解决方案--------------------------------------------------------
这个是计算int型数组的
----------------解决方案--------------------------------------------------------
[bo]以下是引用 [un]StarWing83[/un] 在 2008-5-16 19:59 的发言:[/bo]
有在2n-2次比较内查找的算法。有理论上最快的3n/2次比较的算法……看你要哪种…………

嘿嘿,看来你也已经知道这个的答案了
不过写法还有至少两种以上的,效率也不一样
----------------解决方案--------------------------------------------------------
怎么这几天都在搞这种问题,
你要go to office?
----------------解决方案--------------------------------------------------------
  相关解决方案