Pagini recente » Cod sursa (job #1494417) | Cod sursa (job #703959) | Cod sursa (job #1512582) | Cod sursa (job #2953348) | Cod sursa (job #1013102)
#include <cstdio>
#include <algorithm>
using namespace std;
const int nmax = int(5e5);
int n;
int a[nmax];
void readData() {
scanf("%d",&n);
for(int i = 0;i < n;i++) {
scanf("%d",&a[i]);
}
}
void quickSort(int arr[], int left, int right) {
int i = left, j = right;
int pivot = arr[(left + right) >> 1];
while (i <= j) {
while (arr[i] < pivot) i++;
while (arr[j] > pivot) j--;
if (i <= j) {
swap(arr[i++],arr[j--]);
}
}
if (left < j)
quickSort(arr, left, j);
if (i < right)
quickSort(arr, i, right);
}
void printData() {
for(int i = 0;i < n;i++) {
printf("%d ",a[i]);
}
printf("\n");
}
int main()
{
freopen("algsort.in","r",stdin);
freopen("algsort.out","w",stdout);
readData();
quickSort(a,0,n - 1);
printData();
return 0;
}