Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 6

CODE IMPLEMENTATION :-

class Pair
{
public int max, min;
public Pair(int max, int min)
{

this.max = max;
this.min = min;

}
}
class Main
{

public static void findMinAndMax(int[] nums, int left, int right, Pair p)

if (left == right)

if (p.max < nums[left])

p.max = nums[left];

if (p.min > nums[right])

p.min = nums[right];

}
return;
}
if (right - left == 1)
{
if (nums[left] < nums[right])
{
if (p.min > nums[left])
{
p.min = nums[left];
}
if (p.max < nums[right])
{
p.max = nums[right];
}
}
else {
if (p.min > nums[right])
{
p.min = nums[right];
}
if (p.max < nums[left])
{
p.max = nums[left];
}
}
return;
}
int mid = (left + right) / 2;
findMinAndMax(nums, left, mid, p);
findMinAndMax(nums, mid + 1, right, p);
}
public static void main(String[] args)
{

int[] nums = { 7, 2, 9, 3, 1, 6, 7, 8, 4 };
Pair p = new Pair(Integer.MIN_VALUE, Integer.MAX_VALUE);
findMinAndMax(nums, 0, nums.length - 1, p);
System.out.println("The minimum array element is " + p.min);
System.out.println("The maximum array element is " + p.max);

}
}
OUTPUT:-
CODE IMPLEMENTATION :-

#include <stdio.h>

void mergeSort(int [], int, int, int);

void partition(int [],int, int);

int main()

int list[50];

int i, size;

printf("Enter total number of elements:");

scanf("%d", &size);

printf("Enter the elements:\n");

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

scanf("%d", &list[i]);

partition(list, 0, size);

printf("\n Second Smallest Element is : %d",list[2]) ;

printf("\n Second Largest Element is : %d",list[size-1]) ;

return 0;

void partition(int list[],int low,int high)

int mid;

if(low < high)

mid = (low + high) / 2;

partition(list, low, mid);

partition(list, mid + 1, high);

mergeSort(list, low, mid, high);

}
}

void mergeSort(int list[],int low,int mid,int high)

int i, mi, k, lo, temp[50];

lo = low;

i = low;

mi = mid + 1;

while ((lo <= mid) && (mi <= high))

if (list[lo] <= list[mi])

temp[i] = list[lo];

lo++;

else

temp[i] = list[mi];

mi++;

i++;

if (lo > mid)

for (k = mi; k <= high; k++)

temp[i] = list[k];

i++;

else

{
for (k = lo; k <= mid; k++)

temp[i] = list[k];

i++;

for (k = low; k <= high; k++)

list[k] = temp[k];

OUTPUT:-

You might also like