Cod sursa(job #2438940)

Utilizator red_devil99Mancunian Red red_devil99 Data 14 iulie 2019 13:56:39
Problema Sortare prin comparare Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.9 kb
#include <iostream>
	
#include <fstream>
	
using namespace std;
	
#define maxi (1 >> 31)
	
inline void swap(int *a, int *b) {
	
	int *temp = move(a);
	
	a = move(b);
	
	b = move(temp);
	
}
	
 
	
int partition(int vec[], int low, int high){
	
	int i = low - 1;
	
	int pivot = vec[high];
	
	for(int j = low; j <=high -1; j++){
	
		if(vec[j] <= pivot){
	
			i++;
	
			swap(&vec[i], &vec[j]);
	
		}
	
	}
	
	swap(&vec[high], &vec[i+1]);
	
	return (i+1);
	
 
	
}
	
 
	
void quick(int vec[], int low, int high){
	
	if(low < high){
	
		int pi = partition(vec, low, high);
	
		quick(vec, low, pi-1);
	
		quick(vec, pi+1, high);
	
	}
	
}
	
 
	
int main(){
	
	ifstream fin("algsort.in");
	
	ofstream fout("algsort.out");
	
	long long n, vec[500000];
	
	fin >> n;
	
	for(int i = 0; i < n; i++){
	
		fin >> vec[i];
	
	}
	
 
	
	quick(vec, 0, n-1);
	
 
	
	for(int i = 0; i < n; i++){
	
		fout << vec[i] <<" ";
	
	}
	
 
	
	return 0;
	
 
	
}