本文目錄一覽:
- 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語言相似性較高,因此在操作過程中簡單易懂,可操作性強。
原創文章,作者:AHPY,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/135032.html