Cod sursa(job #3030993)

Utilizator TirilaPatricTirila Patric-Gabriel TirilaPatric Data 18 martie 2023 10:49:12
Problema Sortare prin comparare Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.95 kb
#include <iostream>
#include <vector>
#include <algorithm>
#include <random>
#include <ctime>
#include <ratio>
#include <chrono>
#include <fstream>

using namespace std;

vector<int> sortare(vector<int> V){
    int j, el, size = V.size();
    int dist = V.size()/2;
    while(dist > 0){
        for (int i = dist; i < size; i += 1)
        {
            el = V[i];
            for (j = i; j >= dist; j -= dist) {
                if(V[j-dist] <= el){
                    break;
                }
                V[j] = V[j - dist];
            }

            V[j] = el;
        }
        dist/=2;
    }

    return V;
}

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;
}