#include <stdio.h>
#include <stdlib.h>
#include "sort.h"

int main() {
	int vettore[MAX_DIM], i;

	/* Inizializzazione del vettore */
	for(i=0; i<MAX_DIM; i++)
		vettore[i] = rand() % 100;

	/* Stampa del vettore inizializzato */
	printf( "VETTORE DA ORDINARE\n" );
	printf("\n");
	for(i=0; i<MAX_DIM; i++)
		printf("%d ",vettore[i]);

	printf( "\n\nINSERTION SORT\n" );
	/* Ordinamento del vettore */
	i_sort(vettore, MAX_DIM, 1);

	/* Stampa del vettore ordinato */
	printf("\n");
	for(i=0; i<MAX_DIM; i++)
		printf("%d ",vettore[i]);

	/* Ordinamento del vettore */
	i_sort(vettore, MAX_DIM, -1);

	/* Stampa del vettore ordinato */
	printf("\n");
	for(i=0; i<MAX_DIM; i++)
		printf("%d ",vettore[i]);

	printf( "\n\nQUICK SORT\n" );
	/* Ordinamento del vettore */
	q_sort(vettore, MAX_DIM, 1);

	/* Stampa del vettore ordinato */
	printf("\n");
	for(i=0; i<MAX_DIM; i++)
		printf("%d ",vettore[i]);

	/* Ordinamento del vettore */
	q_sort(vettore, MAX_DIM, -1);

	/* Stampa del vettore ordinato */
	printf("\n");
	for(i=0; i<MAX_DIM; i++)
		printf("%d ",vettore[i]);

	printf( "\n\nMERGE SORT\n" );
	/* Ordinamento del vettore */
	m_sort(vettore, MAX_DIM, 1);

	/* Stampa del vettore ordinato */
	printf("\n");
	for(i=0; i<MAX_DIM; i++)
		printf("%d ",vettore[i]);

	/* Ordinamento del vettore */
	m_sort(vettore, MAX_DIM, -1);

	/* Stampa del vettore ordinato */
	printf("\n");
	for(i=0; i<MAX_DIM; i++)
		printf("%d ",vettore[i]);


	return( 0 );
}
