Discussione:Insertion sort


Ultimo commento: 13 anni fa, lasciato da 80.116.54.220 in merito all'argomento Revisione voce

Implementazioni

Dato che ogni tanto qualche nuovo arrivato volenteroso decide di aggiungere alla voce implementazioni in uno o più linguaggi di programmazione, segnalo che una decisione della comunità ha previsto che solo lo pseudocodice vada nella voce, mentre le implementazioni sono inserite nel progetto wikibooks (c'è il link alla fine della voce). Grazie. --Giuseppe (msg) 11:15, 13 lug 2009 (CEST)Rispondi

Revisione voce

Ho rivisto un po' la voce. Sostanzialmente, ho

  • aggiunto qualche dettaglio sulla complessità da en:wiki
  • aggiunto l'esempio di funzionamento
  • modificato la spiegazione e toccato qualcosa nell'introduzione integrando con una parte tratta da en:wiki
  • formattato lo pseudocodice (keywords in grassetto)

--80.116.54.220 (msg) 00:24, 23 dic 2011 (CET)Rispondi

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];
       
  }          

}

}    


--PlusPlus (msg)

Ritorna alla pagina "Insertion sort".