Pagini recente » Cod sursa (job #2976367) | Cod sursa (job #1468817) | Cod sursa (job #2613317) | Cod sursa (job #952290) | Cod sursa (job #3030986)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
vector<int> sortare2(vector<int> left, vector<int> right){
int li = 0, ri = 0;
vector<int> V = {};
while(left.size() > li && right.size() > ri){
if(left[li] < right[ri]){
V.push_back(left[li]);
li++;
} else {
V.push_back(right[ri]);
ri++;
}
}
for(int i=li; i<left.size(); i++){
V.push_back(left[i]);
}
for(int i=ri; i<right.size(); i++){
V.push_back(right[i]);
}
return V;
}
vector<int> sortare(vector<int> Vector){
if(Vector.size() == 1){
return Vector;
}
int mid = Vector.size()/2;
vector<int> left, right;
left = {};
right = {};
for(int i=0; i<Vector.size()/2; i++){
left.push_back(Vector[i]);
}
for(int i=Vector.size()/2; i<Vector.size(); i++){
right.push_back(Vector[i]);
}
return sortare2(sortare(left), sortare(right));
}
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);
for(long unsigned int i=0; i<V.size(); i++){
g<<V[i]<<" ";
}
return 0;
}