sorting C programs
sorting C programs
#include <stdio.h>
int i, key, j;
key = arr[i];
j = i - 1;
arr[j + 1] = arr[j];
j = j - 1;
arr[j + 1] = key;
int main() {
int n;
scanf("%d", &n);
int arr[n];
scanf("%d", &arr[i]);
}
insertionSort(arr, n);
printf("\n");
return 0;
Bubble sort
#include <stdio.h>
int temp;
for (int i = 0; i < n - 1; i++) {
temp = arr[j];
arr[j + 1] = temp;
int main() {
int n;
scanf("%d", &n);
int arr[n];
scanf("%d", &arr[i]);
}
printf("Original array: \n");
bubbleSort(arr, n);
printf("\n");
return 0;
Selection Sort
#include <stdio.h>
void selectionSort(int arr[], int n) {
minIndex = i;
minIndex = j;
temp = arr[minIndex];
arr[minIndex] = arr[i];
arr[i] = temp;
int main() {
int n;
scanf("%d", &n);
int arr[n];
printf("Enter %d elements:\n", n);
scanf("%d", &arr[i]);
selectionSort(arr, n);
printf("\n");
return 0;
}
Quick Sort
#include <stdio.h>
*a = *b;
*b = temp;
swap(&arr[i], &arr[j]);
}
// Swap the pivot element with the element at the (i + 1)th
position
return (i + 1);
quickSort(arr, pi + 1, high);
int main() {
int n;
scanf("%d", &n);
int arr[n];
scanf("%d", &arr[i]);
quickSort(arr, 0, n - 1);
printf("\n");
return 0;
}
Merge Sort
#include <stdio.h>
void merge(int arr[], int left, int mid, int right) {
int i, j, k;
int n1 = mid - left + 1;
int n2 = right - mid;
// Create temporary arrays
int L[n1], R[n2];
// Copy data to temporary arrays L[] and R[]
for (i = 0; i < n1; i++)
L[i] = arr[left + i];
for (j = 0; j < n2; j++)
R[j] = arr[mid + 1 + j];
int main() {
int n;
printf("Enter the number of elements in the array: ");
scanf("%d", &n);
int arr[n];
printf("Enter %d elements:\n", n);
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
mergeSort(arr, 0, n - 1);
return 0;
}