Pagini recente » Cod sursa (job #1645055) | Cod sursa (job #780225) | Cod sursa (job #1627273) | Cod sursa (job #1455597) | Cod sursa (job #3178855)
#include <stdio.h>
#include <stdlib.h>
int Partition(int *arr,int low,int high){
int aux,auxlow=low;
int pivot=arr[low];
while(low<=high){
while(arr[low]<=pivot)
low++;
while(arr[high]>pivot)
high--;
if(low<high){
aux=arr[low];
arr[low]=arr[high];
arr[high]=aux;
low++;
high--;
}
}
aux=arr[high];
arr[high]=pivot;
arr[auxlow]=aux;
return high;
}
void QuickSort(int *arr,int low,int high){
if(low<high){
int p= Partition(arr,low,high);
QuickSort(arr,low,p-1);
QuickSort(arr,p+1,high);
}
}
void HybridQuickSort(){
}
int main() {
//Analysis();
// Demo();
freopen("algsort.in","r",stdin);
freopen("algsort.out","w",stdout);
int n;
scanf("%d",&n);
int *arr=(int *)malloc(sizeof(int)*n);
for(int i=0;i<n;i++)
scanf("%d",&arr[i]);
QuickSort(arr,0,n-1);
for(int i=0;i<n;i++)
printf("%d ",arr[i]);
free(arr);
//DemoQuickSort();
return 0;
}