一次遍历找出整型数组中第二大数

原创 2012年03月31日 14:24:04
const int MIN=-32767;
int find_sed_max(int data[],int count)
{
    int max_num=data[0];
    int sed_num=MIN;
    for(int i=1;i<count;i++)
    {
        if(data[i]>max_num)
        {
            sed_num=max_num;
            max_num=data[i];
        }
        else
        {
            if(data[i]>sed_num)
                sed_num=data[i];
        }
    }
    return sed_num;
}


相关文章推荐

如何找出数组中第二大的数

如果仅仅是考虑实现功能,而不考虑时间效率,可以先通过排序算法将数组进行排序,然后根据数组下标来索引访问数组中第二大的数,最快的排序算法一般为快速排序算法,但是其时间复杂度仍未O(nlogn),根据下标...

找出一个整数数组中,第二大的数

/* 写一个函数找出一个整数数组中第二大的数 */#include #include #include #define SIZE 10 int array[] = {0}; //随机产...

如何快速找出一个数组中最大数和第二大数

看到一道题是:快速找出一个数组中最大数和第二大数。        我之前学了一些数组排序,例如冒泡排序,简单选择排序等等,然后我就想可不可以利用冒泡排序来实现呢?之前写过冒泡排序实现从小到大的排列,...

面试题—— 找出一个无序整型数组中第k大的数。

面试题—— 找出一个无序整型数组中第k大的数。

如何求数组中的最大数和第二大数

/** *求数组中第二大数: (1)先排序,再找第二大数,复杂度O(n^2) (2)设置两个变量分别存储最大数和第二大数,遍历数组更新两变量, 复杂度O(n) (3)考虑到效率问题,使用二分法并结合(...

寻找数组中的第二大数

/* 写一个函数找出一个整数数组中,第二大的数(microsoft) 要求效率尽可能高 */ #include "stdio.h" #include "stdlib.h" int f...

编程之美2.10扩展问题求数组中第二大数

要求求得数组中第二大数采用分治思想解决这个问题 #include using namespace std; //分治思想求数组中第二大的数 //low为数组低位索引,high为数组高位索引 v...

查找一个数组中第二大的数的下标并输出

查找一个数组中第二大的数的下标并输出

求无序数组中第二大的数--快速选择

之前去面试遇到了这个问题,题目:找出无序数组中第二大的数字。       定睛一看,好简单,一次遍历就可以找出第二大的数字,不过,这样写没有什么特别之处,因为实在是太简单了。自己仔细想想起了之前做过的...
  • kamsau
  • kamsau
  • 2014年08月05日 15:26
  • 1660

编程之美 2.10 扩展问题:求数组中的第二大数

编程之美 2.10 扩展问题题目如下: 如果需要找出N个数组中的第二大数,需要比较多少次呢?是否可以使用过类似的分治思想来降低比较的次数呢? 解法一 我们最容易想到的方法就是:我们数组进行排序...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:一次遍历找出整型数组中第二大数
举报原因:
原因补充:

(最多只允许输入30个字)