Professional Documents
Culture Documents
h>
int main()
{
printf("Enter the size of the array\n");
int N;
scanf("%d", &N);
int arr[N];
printf("Enter the elements of the array\n");
for (int i = 0; i < N; i++)
{
scanf("%d", &arr[i]);
}
switch (choice)
{
case 1:
quickSort(arr, 0, N - 1);
printf("Quick Sorted array: ");
printArray(arr, N);
break;
case 2:
sort(arr, 0, N - 1);
printf("\nMerge Sorted array: ");
printArray(arr, N);
break;
case 3:
printf(" ");
bubbleSort(arr, N);
printf("Bubble Sorted array: ");
printArray(arr, N);
break;
case 4:
heapify(arr, N, 0);
printf("Heap Sorted array: ");
printArray(arr, N);
break;
case 5:
insertionSort(arr, N);
printf("Insertion Sorted array: ");
printArray(arr, N);
break;
case 6:
selectionSort(arr, N);
printf("Selection Sorted array: ");
printArray(arr, N);
break;
default:
printf("Invalid input\n");
break;
}
return 0;
}
void heapify(int arr[], int N, int i)
{
int largest = i;
int l = 2 * i + 1;
int r = 2 * i + 2;
if (largest != i)
{
int swap = arr[i];
arr[i] = arr[largest];
arr[largest] = swap;
heapify(arr, N, largest);
}
}
int i, j;
for (i = 0; i < n1; i++)
L[i] = arr[l + i];
for (j = 0; j < n2; j++)
R[j] = arr[m + 1 + j];
i = 0;
j = 0;
int k = l;
while (i < n1 && j < n2)
{
if (L[i] <= R[j])
{
arr[k] = L[i];
i++;
}
else
{
arr[k] = R[j];
j++;
}
k++;
}
sort(arr, l, m);
sort(arr, m + 1, r);
merge(arr, l, m, r);
}
}
void insertionSort(int arr[], int n)
{
for (int i = 1; i < n; i++)
{
int key = arr[i];
int j = i - 1;
return (i + 1);
}