Pagini recente » Cod sursa (job #2031754) | Cod sursa (job #3273786) | Cod sursa (job #2635679) | Cod sursa (job #1260001) | Cod sursa (job #1701506)
#include <iostream>
#include <fstream>
#include <cstdlib>
using namespace std;
ifstream f("algsort.in");
ofstream g("algsort.out");
int arr[500000],n;
void print(int *a, int n)
{
int i=0;
while(i<n){
cout<<a[i]<<",";
i++;
}
}
void swap(int i,int j, int *a){
int temp = a[i];
a[i] = a[j];
a[j] = temp;
}
void quicksort(int *arr, int left, int right){
int rand;
int min=left;
int i = left;
int j = right;
int pivot = arr[min];
while(left<j || i<right)
{
while(arr[i]<pivot)
i++;
while(arr[j]>pivot)
j--;
if(i<=j){
swap(i,j,arr);
i++;
j--;
}
else{
if(left<j)
quicksort(arr, left, j);
if(i<right)
quicksort(arr,i,right);
return;
}
}
}
int main()
{
f>>n;
for(int i=0;i<n;i++)
f>>arr[i];
quicksort(arr, 0, n-1);
for(int i=0;i<n;i++)
g<<arr[i]<<" ";
return 0;
}