Cod sursa(job #2003029)

Utilizator thinkphpAdrian Statescu thinkphp Data 21 iulie 2017 15:39:53
Problema Sortare prin comparare Scor 40
Compilator c Status done
Runda Arhiva educationala Marime 0.86 kb
#include <stdio.h>
#include <malloc.h>
#define FIN "algsort.in"
#define FOUT "algsort.out"
#define SIZE 500005

int arr[ SIZE ],
    n;

void read() {

     int i;

     freopen(FIN, "r", stdin);

     scanf("%d", &n);

     for(i = 0; i < n; ++i) scanf("%d", &arr[ i ]); 
};

void _swap(int i, int j) {

     int aux;

         aux = arr[ i ];

         arr[ i ] = arr[ j ];

         arr[ j ] = aux; 
};


void bubblesort() {

     int i,
         j;

     for(i = 0; i < n - 1; i++) {

         for(j = 0; j < n - i - 1; ++j) {

             if(arr[ j ] > arr[ j + 1 ]) _swap(j, j + 1); 
         } 
     } 
};


void write() {

     int i;

     freopen(FOUT, "w", stdout);

     for(i = 0; i < n; ++i) printf("%d ", arr[ i ]); 
};


int main() {

    read(); 
    bubblesort(); 
    write();

 return(0);
};