Discussione:Insertion sort: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
→Revisione voce: nuova sezione |
Nessun oggetto della modifica |
||
Riga 11:
* formattato lo pseudocodice (keywords in grassetto)
--[[Speciale:Contributi/80.116.54.220|80.116.54.220]] ([[User talk:80.116.54.220|msg]]) 00:24, 23 dic 2011 (CET)
== Pseudocodice scorretto ==
Mi pare che lo pseudocodice contenga una deficienza. Non mi sono permesso di modificarlo non essendo un programmatore esperto e dunque incerto, tuttavia confido nella revisione da parte di utenti più esperti. In particolare mi pare che la mancanza sia la seguente: non solo A [j] deve assumere il valore di A[j+1], nel while, ma pure il viceversa. I due valori devono scambiarsi, sennò "perdiamo" un valore.
Io, in DevC++ ho così implementato la funzione, e funziona (PONGO TRA ASTERISCHI QUELLO CHE LO PSEUDOCODICE SU WIKI MI PARE NON DIRE):
void InsertSort(int x,int P[])
{
for(int i=1;i<=x;i++)
{
int v=P[i];
int j=i-1;
while((j>=0)&&(P[j]>v))
{
****int p=P[j];****
P[j]=P[j+1];
****P[j+1]=p;****
j=j-1;
v=P[j+1];
}
}
}
|