求数组中第二大数,不用排序额
2014-05-21 20:08
253 查看
求数组中第二大数,不用排序额:
#define MINNUMBER -32767
/*
说明:
先假设数组中第0个数是最大的即max_num,数组中第1个往后的数如果比max_num大
则sec_num = max_num; 最大的max_num=data[i]
如果当前数大于sec_num则当前数作为第二大数
*/
int FindSec(int data[],int len)
{
int sec_num = MINNUMBER;
int max_num = data[0];
int i;
for( i = 1; i < len; i++)
{
if(data[i] > max_num)
{
sec_num = max_num;
max_num = data[i];
}
else if(data[i] > sec_num)
{
sec_num = data[i];
}
}
return sec_num;//返回结果
}
int main()
{
int a[5]={5, 10, 6, 2, 15};
int secMax = FindSec(a, sizeof(a)/sizeof(int));
printf("secMax = %d\n", secMax);
}
#define MINNUMBER -32767
/*
说明:
先假设数组中第0个数是最大的即max_num,数组中第1个往后的数如果比max_num大
则sec_num = max_num; 最大的max_num=data[i]
如果当前数大于sec_num则当前数作为第二大数
*/
int FindSec(int data[],int len)
{
int sec_num = MINNUMBER;
int max_num = data[0];
int i;
for( i = 1; i < len; i++)
{
if(data[i] > max_num)
{
sec_num = max_num;
max_num = data[i];
}
else if(data[i] > sec_num)
{
sec_num = data[i];
}
}
return sec_num;//返回结果
}
int main()
{
int a[5]={5, 10, 6, 2, 15};
int secMax = FindSec(a, sizeof(a)/sizeof(int));
printf("secMax = %d\n", secMax);
}
相关文章推荐
- php不用内置函数对数组排序的两个算法代码
- java排序,并且表明第几大数,例如: 第一大数是,第二大数是
- 如何求数组中的最大数和第二大数
- 找数组中的第二大数
- 字符统计&大数乘法&数组排序
- 数组操作,将数组排序,然后按最大-最小-第二大-第二小。。。。进行
- 分治法找出数组中第二大数
- 写一个函数,找出一个整数数组中的第二大数
- 编程之美2.10扩展问题求数组中第二大数
- 不用数组对四个数字进行排序
- 寻找数组中第二大数
- 一次遍历找出整型数组中第二大数
- 查找数组中的第二大数
- 求数组中第二大数(后续求第K大)
- 使用java从一个整数数组中查找第二大的数,仅用一次循环,不使用java自带的排序
- 求一个数组中第二大数...
- 找出数组中第二大数
- 不排序找出一个数组中的第二大的数
- 数据结构——算法之(034)(编写一个函数求一个数组中的第二大数)
- Java写的不用数组对四个数进行排序的算法