Pagini recente » Cod sursa (job #2006815) | Cod sursa (job #2829621) | Cod sursa (job #428529) | Cod sursa (job #502787) | Cod sursa (job #2739628)
#include <iostream>
#include <stdio.h>
#include <fstream>
using namespace std;
int partition(int arr[], int left, int right) {
int i = left, pivot = arr[right];
for(int j = left; j <= right - 1; j++) {
if(arr[j] < pivot) {
swap(arr[j], arr[i]);
i++;
}
}
swap(arr[i], arr[right]);
return i;
}
void qsort(int arr[], int left, int right) {
if(left >= right)
return;
int poz = partition(arr, left, right);
qsort(arr, left, poz - 1);
qsort(arr, poz + 1, right);
}
int showArray(int arr[], int n, ofstream& out) {
for(int i = 0; i < n; i++) {
out << arr[i] << " ";
}
out << endl;
}
int main() {
ifstream in("algsort.in");
ofstream out("algsort.out");
int n;
in >> n;
int v[n];
for(int i = 0; i < n; i++) {
in >> v[i];
}
qsort(v, 0, n - 1);
showArray(v, n, out);
return 0;
}