本文目录一览:
- 1、如何获取数组元素中的最大值?
- 2、同时获取数组中的最大值和最小值
- 3、求数组最大或最小值的方法总结
- 4、怎么获取数组中的最大值和最小值
- 5、如何获取数组中指定个数的几个最大值
- 6、找出一堆数组中的最大值并输出其下标
如何获取数组元素中的最大值?
先排序,再取数组最后一个对象就是最大值
例如:[mw_shl_code=c,true]NSArray *sortArray = [[NSArray alloc] initWithObjects:@"6",@"5",@"13",@"20",@"28",@"1",nil]; NSArray *array = [sortArray sortedArrayUsingComparator:cmptr]; NSString *max = [array lastObject]; NSLog(@"%@",max);[/mw_shl_code]
补充:数组元素是组成数组的基本单元。数组元素也是一种变量, 其标识方法为数组名后跟
一个下标。下标表示了元素在数组中的顺序号。
数组元素通常也称为下标变量。必须先定义数组, 才能使用下标变量。在C语言中只
能逐个地使用下标变量,而不能一次引用整个数组。
同时获取数组中的最大值和最小值
同时获取数组中的最大值和最小值
找到一个数组中最大值一般用如下方法,首先拿出数组中第一个值作为当前的最大值,然后依次和后面所有的值比较,发现有比当前最大值还大的就更新最大值的记录:
[cpp] view plain copy
int maximum(int *arr, int size)
{
int i;
int max = arr[0];
for (i = 1; i size; i++)
{
if (max arr[i]) max = arr[i];
}
return max;
}
同理,最小值也是这么判断:
[cpp] view plain copy
int minimum(int *arr, int size)
{
int i;
int min = arr[0];
for (i = 1; i size; i++)
{
if (min arr[i]) min = arr[i];
}
return min;
}
无论是求最大值还是最小值都进行了n-1次比较,那么同时求最大值是否需要判断2n-2次呢?
算法导论第九章给出了一个结论,最多只需要比较3+n-2次比较就可以完成,因为我们可以从数组中一次取两个数据,先将这两个数据进行比较,然后把其中大的与最大值记录比较,小的与最小值记录比较即可,因为取出的两个数据中的小的值不可能还会成为最大值。
[cpp] view plain copy
void getRange(int *arr, int size, int *max, int *min)
{
int *p = arr, *endp = arr + size;
if (size % 2 != 0)
{
*max = *min = *p++;
}
else
{
if (*p *(p + 1))
{
*max = *p;
*min = *(p + 1);
}
else
{
*max = *(p + 1);
*min = *p;
}
p += 2;
}
while (p != endp)
{
if (*p *(p + 1))
{
if (*p *max) *max = *p;
if (*(p + 1) *min) *min = *(p + 1);
}
else
{
if (*(p + 1) *max) *max = *(p + 1);
if (*(p) *min) *min = *p;
}
p += 2;
}
}
求数组最大或最小值的方法总结
JavaScript 提供了 Math.max 函数返回一组数中的最大值
用法:
值得注意的是:
而我们需要分析的是:
如果任一参数不能被转换为数值,这就意味着如果参数可以被转换成数字,就是可以进行比较的,比如:
如果没有参数,则结果为 -Infinity,对应的,Math.min 函数,如果没有参数,则结果为 Infinity,所以:
既然是通过遍历数组求出一个最终值,那么我们就可以使用 reduce 方法:
apply 方法的最主要的作用是改变当前函数的 this 指向,还有一个作用就是将数组中的元素一个一个的当做参数传入方法, apply 方法和 call 方法基本相同, 此处 Math.max.apply(null, arr) 和 Math.max.apply(null, [10, 2, 88, 5]) 相同, 所以当我们调用 apply 方法的时候,相当于把数组中的元素挨个当做参数传入方法中,这也就解决了 Math.max(min) 不能直接获取数组中的最大(小)值问题了
如果我们先对数组进行一次排序,那么最大值就是最后一个值:
怎么获取数组中的最大值和最小值
首先把数组的第一个数赋值给变量max和min,分别表示最大值和最小值,再依次判断数组的其他,判断当前的最大值和最小值是否就是最大值和最小值,如果不是进行替换,最后输出最大值和最小值。
#includestdio.h
#define N 6
int main()
{
int a[N],max,min,i;
for(i=0;iN;i++)//输入数组
scanf("%d",a[i]);
max=min=a[0];//把数组第一个数赋值给max和min
for(i=1;iN;i++){//依次判断剩下每个数
if(a[i]max) max=a[i];//如果该数大于max,把其赋值给max
if(a[i]min) min=a[i];//如果该数小于min,把其赋值给min
}
printf("最大值:%d,最小值:%d\n",max,min);
return 0;
}
如何获取数组中指定个数的几个最大值
让数组元素按从大到小排队,然后取出前几个最大值。
程序例子如下:
#include stdio.h
void fun(float *a, int a_size, int num){
int i,j;
float t;
for (i=0;ia_size-1;i++) for (j=i+1;ja_size;j++)
if (a[i]a[j]) {t=a[i];a[i]=a[j];a[j]=t;};
if (numa_size)num=a_size;
for (i=0;inum;i++) printf("%g ",a[i]);
}
main()
{
float a[10]={1,8,7,4,5,6,7,2,3,10};
int num=4;
fun(a, 10, num);
return 0;
}
找出一堆数组中的最大值并输出其下标
1、使用array()定义一个数组。
2、使用max()获取数组中的最大值。
3、打印max()获取的最大值。
4、保存文件,在浏览器查看输出结果。
注意事项:
PHP语言作为一种语言程序,其专用性逐渐在应用过程中显现,其技术水平的优劣与否将直接影响网站的运行效率。其特点是具有公开的源代码, 在程序设计上与通用型语言,如C语言相似性较高,因此在操作过程中简单易懂,可操作性强。