PDA

Visualizza la versione completa : Funzione insertion sort


crasty7
02-01-2015, 13:13
salve ragazzi ho un po di problemi nel creare la funzione per l'ordinamento dell'array con il metodo inertion sort mi potreste dare una mano?? grazie in anticipo! vi posto sotto il programma!



#include <stdio.h>
#include <stdio.h>
int Insertion_Sort (int x[]);

int main (){
int x[50];
int i,n,j;
int temp;

printf("Di quanti valori e' composto l'array?\n");
scanf("%d", &n);

for (i=0; i<n; i++){
printf("inserisci il %d valore dell'array:\n",i+1);
scanf("%d", &x[i]);
}

printf("questo e' l'array: \n ");
for (i=0; i<n; i++) {
printf(" %d \n ", x[i]);
}

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


Insertion_Sort (x);


for (i=0; i<n; i++){
printf(" %d ", x[i]);
}
system ("PAUSE");
return 0;
}
}


// prima funzione
int Insertion_Sort (int x[])
{
int temp,i,j;
temp=x[i];
j=0;
for (j=i-1; (j>=0) && (x[j]>temp); j--){
x[j+1]=x[j];
x[j+1]=temp;
}
}

Samuele_70
02-01-2015, 17:56
Ciao, nella funzione Insertion_Sort utilizzi la variabile locale i senza averla inizializzata.

crasty7
03-01-2015, 00:40
ok giusto non avevo notato xD perņ quando lo eseguo mi sostituisce solo "0" al posto del secondo numero! come mia!?

Loading