/*C PROGRAM FOR QUICK SORT*/
#include<stdio.h>
#include<conio.h>
void quicksort(int [10], int, int);
int main( ) {
int x[20],size,i;
clrscr();
printf("Enter size of the array: " );
scanf("%d",&size);
printf("Enter %d elements : " , size);
for(i=0;i<size;i++)
scanf("%d",&x[i]);
quicksort(x,0,size-1);
printf(" Sorted elements : " );
for(i=0;i<size;i++)
printf(" %d " , x[i]);
getch();
return 0;
}
void quicksort(int x[10],int first, int last) {
int pivot,j,temp,i;
if(first<last) {
pivot=first;
i=first;
j=last;
while(i<j) {
while(x[i]<=x[pivot]&&i<last)
i++;
while(x[j]>x[pivot])
j--;
if(i<j) {
temp = x[i];
x[i]=x[j];
x[j]=temp;
}
}
temp = x[pivot];
x[pivot] = x[j];
x[j]=temp;
quicksort(x,first,j-1);
quicksort(x,j+1,last);
}
}
/*OUTPUT:
Enter size of the array: 4
Enter 4 elements : 12
45
3
5
Sorted elements : 3 5 12 45 */
#include<stdio.h>
#include<conio.h>
void quicksort(int [10], int, int);
int main( ) {
int x[20],size,i;
clrscr();
printf("Enter size of the array: " );
scanf("%d",&size);
printf("Enter %d elements : " , size);
for(i=0;i<size;i++)
scanf("%d",&x[i]);
quicksort(x,0,size-1);
printf(" Sorted elements : " );
for(i=0;i<size;i++)
printf(" %d " , x[i]);
getch();
return 0;
}
void quicksort(int x[10],int first, int last) {
int pivot,j,temp,i;
if(first<last) {
pivot=first;
i=first;
j=last;
while(i<j) {
while(x[i]<=x[pivot]&&i<last)
i++;
while(x[j]>x[pivot])
j--;
if(i<j) {
temp = x[i];
x[i]=x[j];
x[j]=temp;
}
}
temp = x[pivot];
x[pivot] = x[j];
x[j]=temp;
quicksort(x,first,j-1);
quicksort(x,j+1,last);
}
}
/*OUTPUT:
Enter size of the array: 4
Enter 4 elements : 12
45
3
5
Sorted elements : 3 5 12 45 */
No comments:
Post a Comment