Avendo un algoritmo di exchage sort indicato sotto qualcuno mi direbbe su che valori č la complessitā di tempo e spazio??? Grazie
codice:
#include <stdio.h>
#include <malloc.h>

/* PROTOTIPO FUNZIONE */
void ex_sort(float *A, int n);

main() {

/* DICHIARAZIONE VARIABILI */
int i, n, c;
float *A;

	/* LETTURA GRANDEZZA ARRAY */
	printf("Inserire la grandezza n dell'array: ");
	scanf("%d",&n);

	/* ALLOCAZIONE DINAMICA DELLA MEMORIA */
	if(!(A = (float *)malloc(n*sizeof(float))))
	abort();

	/* LETTURA DI TUTTI GLI ELEMENTI DELL' ARRAY A */
	printf("\nInserire uno per uno tutti gli elementi dell'array...\n");
	   for (i=0; i<n; i++){
	      printf("Inserire il %d° elemento: ", c=i+1);
	      scanf("%f", &A[i]);
	   }

	/* RICHIAMO DELLA FUNZIONE */
	ex_sort(A, n);

	/* STAMPA A VIDEO DELL'ARRAY ORDINATO */
	printf("\nL'array A č ora ordinato come segue:\n");
	for (i=0; i<n; i++)
	printf("%f\n", A[i]);
}

/****************** SPECIFICHE FUNZIONE *************************/
void ex_sort(float *A, int n){
int p,K,i,var;
	p = n;
	do {
	   K = 0;
	   for(i=0; i<n-1; i++)
	   {
	      if(A[i]>A[i+1])
	      {
	      var = A[i];
	      A[i] = A[i+1];
	      A[i+1] = var;
	             K = 1;
	             p = i+1;
	      }
	   }
	n = p;
	   } while (K==1);
}