如何用c 的分治法求陣列最大最小值

時間 2022-03-30 11:55:09

1樓:匿名使用者

演算法思想:先相鄰兩個兩個比較,較大的放入陣列max,較小的放入陣列min,然後從max陣列求出最大,min陣列求出最小即可。 可以證明這是效率最高的演算法,不能進一步改進。

#include

#define n 11

#define m ((n+1)/2)

using namespace std;

void main(void)

; //int n = sizeof(num)/sizeof(num[0]);

//int m = (n+1)/2;

int max[m] , min[m];

int k = 0, j = 0;

if(n/2 != 0) max[m-1] = min[m-1] = num[n-1];

for (int i=0; i < n-1; i = i+2)

else }

for( i=0; i< m; i++)

cout << "max = " << max << ", min = " << min <

2樓:匿名使用者

我們可以把乙個陣列分為兩塊,再分別求這兩塊的最大值(或最小值),然後再比較這兩個值,最大(小)者即為所求。

鑑於樓主一分不給,就寫個偽**了。

merge_large(a : array, length: integer) :integer

begin

large1, large2 :integer;

large1 = merge_large(a, length/2);

large2 = merge_large(a+length/2, length);

return large1 > large2 ? large1 : large2;end

如何用j**a程式設計求陣列的最大值,最小值,平均值?

c語言求陣列總最大值與最小值

3全部int a 10 i,min a 0 max a 0 此處a 0 尚未初始化,max與min成為乙個隨機數 修改後如下 include int main else if a i min min a i printf d,d min,max return 0 max和min的初值不確定。因為定義...

輸入陣列,求陣列中的元素的平均值和最大,最小值 怎麼用C

private void button2 click object sender,eventargs e label1.text min is arr 0 tostring label1.text max is arr arr.count 1 tostring 靜態陣列,用lambda表示式 lin...

matlab中如何求陣列的最小值的下標

大野瘦子 如下 int min int a,int number int min a 0 int i 0 for int i 0 iif min a i min a i return min 注意事項 python的min函式返回列表中的最小的項。返回列表中最小的項的索引 def indexofmi...