1 | #include<stdio.h> | |||
2 | void Quick_Sort(int a[],int left,int right); | |||
3 | int main() | |||
4 | { | |||
5 | int a[10]; | |||
6 | int i,j,temp,n,key; | |||
7 | printf("Enter the no.of elements : "); | |||
8 | scanf("%d",&n); | |||
9 | for(i=0;i<n;i++) | |||
10 | { | |||
11 | printf("Enter a[%d] element : ",i); | |||
12 | scanf("%d",&a[i]); | |||
13 | } | |||
14 | printf("Before Sorting array elements are : "); | |||
15 | for(i=0;i<n;i++) | |||
16 | { | |||
17 | printf("%d ",a[i]); | |||
18 | } | |||
19 | Quick_Sort(a,0,n-1); | |||
20 | printf("\nafter Sorting array elements are : "); | |||
21 | for(i=0;i<n;i++) | |||
22 | { | |||
23 | printf("%d ",a[i]); | |||
24 | } | |||
25 | } | |||
26 | void Quick_Sort(int a[],int left,int right) | |||
27 | { | |||
28 | int pivot,i,j,temp; | |||
29 | i=left; | |||
30 | j=right; | |||
31 | pivot=left; | |||
32 | while(i<j) | |||
33 | { | |||
34 | while(a[i]<=a[pivot]&&i<=right) | |||
35 | i++; | |||
36 | while(a[j]>=a[pivot]&&j>left) | |||
37 | j--; | |||
38 | if(i<j) | |||
39 | { | |||
40 | temp=a[i]; | |||
41 | a[i]=a[j]; | |||
42 | a[j]=temp; | |||
43 | } | |||
44 | } | |||
45 | if(i>j) | |||
46 | { | |||
47 | temp=a[pivot]; | |||
48 | a[pivot]=a[j]; | |||
49 | a[j]=temp; | |||
50 | pivot=j; | |||
51 | } | |||
52 | if(left<pivot) | |||
53 | Quick_Sort(a,left,pivot-1); | |||
54 | if(right>pivot) | |||
55 | Quick_Sort(a,pivot+1,right); | |||
56 | } | |||
OUTPUT: | ||||
Enter the no.of elements : 5 | ||||
Enter a[0] element : 8 | ||||
Enter a[1] element : 4 | ||||
Enter a[2] element : 6 | ||||
Enter a[3] element : 2 | ||||
Enter a[4] element : 3 | ||||
Before Sorting array elements are : 8 4 6 2 3 | ||||
after Sorting array elements are : 2 3 4 6 8 |
C Program for Quick Sort Arrange a list of Integers in Ascending order
Share to other apps