Pagini recente » Cod sursa (job #1235256) | Cod sursa (job #2583013) | Cod sursa (job #564062) | Cod sursa (job #2865368) | Cod sursa (job #1654305)
#include <fstream>
using namespace std;
ifstream f ("algsort.in");
ofstream g ("algsort.out");
int n , a[100009], i;
void read (int &n , int a[100009])
{
f>>n;
for(int i = 1 ; i <= n ; ++ i)
f>>a[i];
}
void quicksort (int a[] , int left , int right)
{
int i = left , j = right , aux;
int pivot = a[(left +right)/2];
while (i <= j)
{
while (a[i] < pivot)
++ i;
while (a[j] > pivot)
-- j;
if(i <= j )
{
aux = a[i];
a[i] = a[j];
a[j] = aux;
++ i;
-- j;
}
}
if(left < j)
{
quicksort(a , left , j);
}
if(i < right)
{
quicksort(a, i , right);
}
}
int main()
{
read (n , a);
quicksort (a , 1 , n);
for(i = 1 ; i <= n ; ++ i)
g<<a[i]<<" ";
return 0;
}