求陣列的最大值最小值

2021-06-27 17:40:52 字數 468 閱讀 2319

演算法陣列中的最大值和最小值

方法1:遍歷兩次求出最大值最小值 ,時間複雜度n*2

方法2:相鄰兩個數分為一組比較,大的放在偶數字,小的放到奇數字,然後在偶數字上找到最大值,在奇數字上找到最小值n*1.5

方法3:定義兩個變數max,min值,相鄰兩個數分為一組,比較出最大值和最小值,最大值和max比較,是否大於max,如果大於賦值於max,最小值和min比較,是否小於min,如果小於賦值於min

方法4:遞迴方法,分別求出前後n/2個數的min和max

**:(max,min)search(arr, b, e)

{ if(e-b<=1)

{ if(arr[b]maxr)

maxv=maxl;

else

maxv=maxr;

if(minl

擴充套件:求n個陣列中,第二大的數:分別求出前後n/2中的最大值,比較返回較小的那個

求陣列的最大值與最小值

方法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 ...

求陣列的最大值和最小值

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

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

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