Pagini recente » Cod sursa (job #1273423) | Cod sursa (job #2800342) | Cod sursa (job #1334143) | Cod sursa (job #2709910) | Cod sursa (job #1332530)
#include <stdint.h>
#include <fstream>
using namespace std;
const uint32_t MAX_ITEMS = 500000;
uint32_t A[MAX_ITEMS];
uint32_t N;
void read(){
ifstream input("algsort.in");
input>>N;
for(uint32_t i = 1; i<=N; i++){
input>>A[i];
}
input.close();
}
void write(){
ofstream output("algsort.out");
for(uint32_t i=1; i<=N; i++){
output<<A[i]<<" ";
}
output.close();
}
uint32_t partition(uint32_t p, uint32_t r){
uint32_t i = p - 1;
uint32_t x = A[r];
for(uint32_t j = p; j< r; j++){
if(A[j]<=x){
i++;
uint32_t aux = A[i];
A[i]=A[j];
A[j]=aux;
}
}
i++;
A[r] = A[i];
A[i]=x;
return i;
}
void quicksort(uint32_t p, uint32_t r){
if(p<r){
uint32_t q = partition(p,r);
quicksort(p, q-1);
quicksort(q+1, r);
}
}
void sortData(){
quicksort(1, N);
}
int main()
{
read();
sortData();
write();
return 0;
}