The following C program, using recursion, performs quick sort. A quick sort is a sorting algorithm with complexity of O(nlogn). It is used for sorting numbers, structure, files.

Here is the source code of the C program to display a linked list in reverse. The C program is successfully compiled and run on a Linux system. The program output is also shown below.

`/*`

`* C 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[50];

int size, i;

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

scanf("%d", &size);

printf("Enter the elements to be sorted:\n");

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

`{`

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

`}`

quicksort(list, 0, size - 1);

printf("After applying quick sort\n");

for (i = 0; i < size; 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);

`}`

`}`

$ cc pgm29.c $ a.out Enter the number of elements: 6 Enter the elements to be sorted: 67 45 24 98 12 38 After applying quick sort 12 24 38 45 67 98

**Sanfoundry Global Education & Learning Series – 1000 C Programs.**

Here’s the list of Best Reference Books in C Programming, Data-Structures and Algorithms

If you wish to look at other example programs on Searching and Sorting, go to C Programming Examples on Searching and Sorting. If you wish to look at programming examples on all topics, go to C Programming Examples.