-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMinMax.cpp
More file actions
41 lines (37 loc) · 974 Bytes
/
Copy pathMinMax.cpp
File metadata and controls
41 lines (37 loc) · 974 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include <bits/stdc++.h>
using namespace std;
void MinMax(int arr[], int low, int high, int & min, int & max) {
int mid;
if (low == high) {
min = arr[low];
max = arr[high];
return;
}
if (high == low + 1) {
if (arr[low] > arr[high]) {
max = arr[low];
min = arr[high];
} else {
max = arr[high];
min = arr[low];
}
return;
}
mid = (low + high) / 2;
MinMax(arr, low, mid, min, max);
int min1, max1;
MinMax(arr, mid + 1, high, min1, max1);
if (min > min1)
min = min1;
if (max < max1)
max = max1;
}
int main() {
int arr[] = { 73, 6, 52, 15, 22 };
int n = sizeof(arr) / sizeof(arr[0]);
int min, max;
MinMax(arr, 0, n - 1, min, max);
cout << "Minimum Element is " << min << endl;
cout << "Maximum Element is " << max << endl;
return 0;
}