Cod sursa(job #3244031)

Utilizator chiarimitrebuiecontquestionmarkmiruna mihailescu chiarimitrebuiecontquestionmark Data 23 septembrie 2024 05:35:03
Problema Sortare prin comparare Scor 40
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.73 kb
#include <fstream>
using namespace std;
int h[500002];
int n;
int program2(int st, int dr){
    int aladelafinal=h[dr];
    int mic=st-1;
    for(int i=st; i<=dr; i++){
        if(h[i]<aladelafinal){
            mic++;
            swap(h[mic], h[i]);
        }
    }
    mic++;
    swap(h[mic], h[dr]);
    return mic;
}
void program (int st, int dr){
    if(st<dr){
        int aladelafinal=program2(st, dr);
        program(st, aladelafinal - 1);
        program(aladelafinal + 1, dr);
    }
}

int main(){
  ifstream fin("algsort.in");
  ofstream fout("algsort.out");
    fin>>n;
    for(int i=1;i<=n;i++)
        fin>>h[i];
    program(1, n);
    for(int i=1;i<=n;i++)
        fout<<h[i]<<" ";
    return 0;
}