//quick sort
#include <stdio.h>
void swap(int A[],int i,int j){
int temp=A[i];
A[i]=A[j];
A[j]=temp;
}
//PARTITION(A,p,r)
int partition(int A[],int p,int r){
int x= A[r]; //pivot
int i=p-1;
for(int j=p;j<=r;j++){
if(A[j]<=x){
i++;
swap(A,i,j);
}
}
swap(A,i+1,r);
return i+1;
//quick sort(A,p,r)
void quicksort(int a[],int p,int r){
if(p<r){
int q=partition(A,p,r);
quicksort(A,p,q-1);
quicksort(A,q+1,r);
}
}
int main(){
int n;
printf("ENTER THE NUMBER OF ELEMENTS:");
scanf("%d",&n);
int A[100]; //define a fixed size array for simplicity
printf("ENTER %d OF ELEMENTS:\n");
for (int i=0;i<n;i++){
scanf("%d",&A[i]);
}
quicksort(A,0,n-1);
printf("SORTED ARRAY:\n");
for (int i=0;i<n;i++){
printf("%d",&A[i]);
}
printf("\n");
return 0;
}
Comments
Post a Comment