求陣列的最大值與最小值

2021-10-03 11:08:03 字數 1263 閱讀 3045

方法1:

通過迴圈查詢陣列的最大值和最小值

minn = a[0]

;maxx= a[0]

;for

(int j =

0; j < i ;j++

)

方法2:

利用c++自帶的函式 *max_element()和 *min_element()

#include

#include

using

namespace std;

intmain()

; cout <<(*

max_element

(a, a +5)

)<< endl;

cout <<(*

min_element

(a, a +5)

)<< endl;

return0;

}

這兩個函式在標頭檔案 algorithm 中,同時這兩個函式對陣列進行了排序,如:(*(max_element(a, a + 5)+1)) 輸出結果與 *min_element(a, a + 5) 相同

方法3:

vector容器

例 vector vec

最大值:int maxvalue = *max_element(v.begin(),v.end());

最小值:int minvalue = *min_element(v.begin(),v.end());

int

main()

; vector<

int>

b(a,a+5)

; vector<

int>

::iterator p =

max_element

(b.begin()

, b.

end())

; vector<

int>

::iterator q =

min_element

(b.begin()

, b.

end())

; cout <<

*p << endl;

cout <<

*q << endl;

system

("pause");

return

0;

求陣列的最大值最小值

演算法陣列中的最大值和最小值 方法1 遍歷兩次求出最大值最小值 時間複雜度n 2 方法2 相鄰兩個數分為一組比較,大的放在偶數字,小的放到奇數字,然後在偶數字上找到最大值,在奇數字上找到最小值n 1.5 方法3 定義兩個變數max,min值,相鄰兩個數分為一組,比較出最大值和最小值,最大值和max比...

求陣列的最大值和最小值

求陣列的最大最小值,可以遍歷一遍陣列,然後分別記錄最大值和最小值,這種方法需要的比較次數為2n次。如果想要減少比較次數,可以採用的方法是遍歷陣列,然後比較相鄰元素,把相鄰元素的較大值放在後面,較小的放在前面。在從較大值中選取最大值即為整個陣列的最大值,從較小值中選取最小值即為整個陣列的最小值。這時,...

求陣列中的最大值和最小值

方法1 暴力方法 遍歷一遍陣列,比較2 n次求出最大值和最小值 方法2 改進方法 破壞了原陣列 遍歷一遍陣列使得下標為偶數的元素較下標為奇數的元素大,再分別求出最大值和最小值 比較次數為3 n 2次 方法3 改進方法 不破壞原陣列 遍歷一遍陣列將相鄰元素中較大值和nmax比較,將較小值和nmin比較...