Pagini recente » Cod sursa (job #3263875) | Cod sursa (job #471022) | Cod sursa (job #1171801) | Cod sursa (job #1822173) | Cod sursa (job #3031001)
#include <iostream>
#include <vector>
#include <algorithm>
#include <random>
#include <ctime>
#include <ratio>
#include <chrono>
#include <fstream>
using namespace std;
int part(vector<int>& Vector, int left, int right){
int pivot = Vector[(left+right)/2], j = left;
swap(Vector[(left+right)/2], Vector[right]);
for(int i=left; i<right; i++){
if(Vector[i] <= pivot){
swap(Vector[j++], Vector[i]);
}
}
swap(Vector[j], Vector[right]);
return j;
}
vector<int> sortare(vector<int> Vector, int left, int right){
if (left<right){
int index = part(Vector, left, right);
sortare(Vector, index+1, right);
sortare(Vector, left, index-1);
}
return Vector;
}
int main(){
ifstream f("algsort.in");
ofstream g("algsort.out");
vector<int> V;
int a, N;
f>>N;
while(N>0){
f>>a;
V.push_back(a);
N--;
}
V = sortare(V, 0, V.size()-1);
for(long unsigned int i=0; i<V.size(); i++){
g<<V[i]<<" ";
}
return 0;
}