Cod sursa(job #2666214)

Utilizator ViAlexVisan Alexandru ViAlex Data 1 noiembrie 2020 10:53:52
Problema Sortare prin comparare Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.59 kb
#include<iostream>
#include<fstream>
using namespace std;

ifstream in("algsort.in");
ofstream out("algsort.out");

int n,v[500000];

void read(){
	in>>n;
	for(int i=0;i<n;i++){
		in>>v[i];
	}
}

int partition(int*arr,int l,int r){
	int k=l-1,m=arr[r];

	for(int i=l;i<=r-1;i++){
		if(arr[i]<=m){
			k++;
			swap(arr[k],arr[i]);
		}
	}
	k++;
	swap(arr[k],arr[r]);
	return k;
}


void sort(int*arr,int l,int r){
	if(l>=r){
		return;
	}

	int piv=partition(arr,l,r);
	sort(arr,l,piv-1);
	sort(arr,piv+1,r);
}



int main(){
	read();
	sort(v,0,n-1);
	for(int i=0;i<n;i++)
		cout<<v[i]<<" ";
	return 0;
}