PUBLISHED ON: JANUARY 28, 2022
C Program to Perform Quick Sort on a set of Entries using Recursion

Logic To Perform Quick Sort On A Set Of Entries From A File Using Recursion:
- The array to be sorted is defined, the array size is passed by the user
- The algorithm checks if the 1st element is smaller than the last element,
- The function partitioning is set to the last element of the array and defines variable increments, the same variable is used to partition the elements into sub-arrays,
- After the partitioning, the function will be called continuously itself for sorting itself into sub-arrays,
- Once arrays are sorted they will be printed.
Program To Perform Quick Sort On A Set Of Entries From A File Using Recursion:
#include <stdio.h> void quicksort (int [], int, int); int main() { int list[100]; int value, i; printf("Enter The Number Of Elements To Sort: "); scanf("%d", &value); printf("\nEnter The Elements To Sort: \n"); for (i = 0; i < value; i++) { printf("\nEnter The [ %d ] Element: ",i+1); scanf("%d", &list[i]); } quicksort(list, 0, value - 1); printf("\n Implemented Quick Sort: \n\n"); for (i = 0; i < value; i++) { printf("%d ", list[i]); } printf("\n"); return 0; } void quicksort(int list[], int low, int high) { int pivot, i, j, temp; if (low < high) { pivot = low; i = low; j = high; while (i < j) { while (list[i] <= list[pivot] && i <= high) { i++; } while (list[j] > list[pivot] && j >= low) { j--; } if (i < j) { temp = list[i]; list[i] = list[j]; list[j] = temp; } } temp = list[j]; list[j] = list[pivot]; list[pivot] = temp; quicksort(list, low, j - 1); quicksort(list, j + 1, high); } }
Output:
