Selection sort
algoritmo di ordinamento che opera in place
L'ordinamento per selezione (selection sort) è un algoritmo di ordinamento che opera in modo simile all'ordinamento per inserzione; seleziona il numero minore nella sequenza di partenza e lo sposta nella sequenza ordinata.
La complessità di tale algoritmo è dell'ordine di
Esempio di implementazione in C
selection() { int i, j, min, t; for (i=0; i < N-1; i++) { min = i; for (j= i + 1; j <= N; j++) if (a[j] < a[min]) min = j; t = a[min]; a[min] = a[i]; a[i] = t; } }
Esempio di programma in Pascal
program SelectionSort(input,output); const dim=20; var a: array[1..dim] of integer; n,i,j,pos,min,aus:integer; begin // Creazione vettore di n elementi (con 1<=n<=dim) pos:=0; for i:=1 to n-1 do begin min:= a[i]; for j:=(i+1) to n do begin if a[j]< min then begin min:= a[j]; pos:= j; end; end; aus:= a[i]; a[i]:= min; a[pos]:= aus; end; // Stampa del vettore readln; end;