Pagini recente » Cod sursa (job #1407989) | Cod sursa (job #64521) | Cod sursa (job #465758) | Cod sursa (job #3270762) | Cod sursa (job #2301013)
#include<bits/stdc++.h>
using namespace std;
void q_sort(vector <int> &v, int lf, int rg){
if(lf >= rg){
return;
}
int pivot = (lf + rg) / 2;
int i = lf;
int j = rg;
while(i <= j){
while(i <= j && v[i] <= v[pivot]){
i++;
}
while(i <= j && v[pivot] <= v[j]){
j--;
}
if(i <= j){
swap(v[i], v[j]);
}else{
if(i > j){
i = j;
}
swap(v[pivot], v[i]);
break;
}
}
q_sort(v, lf, i - 1);
q_sort(v, i + 1, rg);
}
int main(){
ifstream fin("algsort.in");
ofstream fout("algsort.out");
int n;
fin >> n;
vector <int> v(n);
for(int i = 0;i < n;i++){
fin >> v[i];
}
q_sort(v, 0, n - 1);
for(int i = 0;i < n;i++){
fout << v[i] << ' ';
}
return 0;
}