程式設計之美(陣列求最大最小值得方法)

2021-07-03 06:57:33 字數 1256 閱讀 3385

#include using namespace std;

#include //分治思想求陣列最大最小值

void maxandmin(int* a,int start,int end,int &max,int &min)

else

return;

}int rightmax=0;

int rightmin=0;

int leftmax=0;

int leftmin=0;

maxandmin(a,start,(start+end)/2,leftmax,leftmin);

maxandmin(a,(start+end)/2+1,end,rightmax,rightmin);

max = (rightmax > leftmax) ? rightmax : leftmax;

min = (leftmin < rightmin) ? leftmin : rightmin;

}//暴力方法

void maxandmin2(int *a,int len,int &max,int &min)

}// 遍歷一遍陣列使得下標為偶數的元素較下標為奇數的元素大,再分別求出最大值和最小值

//比較次數為3*n/2次

void maxandmin3(int *a,int len,int &max,int &min)}}

//void maxandmin4(int *a,int len,int &max,int &min)

if(len == 2)}//

if(a[0] > a[1])

else

for(int i(2);ia[i+1])

if(min > a[i+1])

}else if(i+1 < len && a[i] < a[i+1])

if(min > a[i])

}else

if(min > a[i])}}

}}

int main()

;int max=0;

int min =0;

maxandmin(a,0,9,max,min);

cout<<"max="

cout<<"max="

cout<<"max="

cout<<"max="

}

程式設計之美(陣列求最大最小值的集中方法)

include using namespace std include 分治思想求陣列最大最小值 void maxandmin int a,int start,int end,int max,int min else return int rightmax 0 int rightmin 0 int ...

最大值與最小值 程式設計之美2 10

1.求各元素為正整數的乙個陣列序列中的最小值 int min const unsigned int array,int length unsigned int minvalue array 0 for int i 1 i length i return minvalue 2.求各元素為正整數的乙個陣...

程式設計之美 尋找陣列中的最大值和最小值

尋找乙個陣列裡的最大值和最小值 法一 分別遍歷一遍,次數o 2 n 法二 根據書上的講述,法三 主要在法二的基礎上改進,法二改變了原陣列,法三主要是不改變原陣列,定義兩個變數max和min,分別儲存最大值和最小值。法四 分治法,這是重點。typedef struct ivaluetype ivalu...