Pagini recente » Cod sursa (job #2081009) | Cod sursa (job #734593) | Cod sursa (job #1188162) | Cod sursa (job #1331891) | Cod sursa (job #3137769)
#include <fstream>
#include <stdlib.h>
#include <time.h>
using namespace std;
const int Nmax = 500005;
int a[Nmax], n;
void quickSort(int left, int right) {
if(left >= right) {
return;
}
int pivot = a[left + rand() % (right - left + 1)];
int i = left, j = right;
while(i < j) {
if(a[i] <= pivot) {
i++;
}
else if(a[j] > pivot) {
j--;
}
else {
swap(a[i++], a[j--]);
}
}
quickSort(left, i - 1);
quickSort(i, right);
}
int main() {
ifstream fin("algsort.in");
ofstream fout("algsort.out");
fin >> n;
for(int i = 1; i <= n; i++) {
fin >> a[i];
}
srand(time(NULL)); // ca functia rand() sa genereze random bine
quickSort(1, n);
for(int i = 1; i <= n; i++) {
fout << a[i] << " ";
}
fout << "\n";
}