Shear sort: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Implementazione del seguente algoritmo in c++
 
(3 versioni intermedie di 2 utenti non mostrate)
Riga 7:
Lo '''Shear sort''' è un [[algoritmo di ordinamento]] molto semplice per ordinare vettori a due dimensioni; questo algoritmo ordina a turno le righe e le colonne del vettore. Ha una complessità in tempo di <math>\Theta(n\log n)</math>.
 
==  Implementazioni ==
 
=== [[C++]] ===
<syntaxhighlight lang="c++" line="1">
void shear_sort(int v[][], int n, int m) {
bool scambio=true;
while ( bool scambio){ = true;
while (scambio=false;) {
for (int i scambio =0;i<n false;i++){
if for (int i%2= = 0; i < n; i++) {
for if (inti % 2 j== 0;j<m-1;j++) {
if for (v[i][int j]>v[i][ = 0; j+ < m - 1]; j++) {
swap if (v[i][j], > v[i][j + 1]); {
scambio=true swap(v[i][j], v[i][j + 1]);
} scambio = true;
}
}
} else if (i % 2 != 0) {
for (int j = m - 1; j > 0; j--) {
if (v[i][j] > v[i][j - 1]) {
swap(v[i][j], v[i][j - 1]);
scambio = true;
}
}
}
}
for (int j = 0; j < m; j++) {
for (int i = 0; i < n - 1; i++) {
if (v[i][j] > v[i + 1][j]) {
swap(v[i][j], v[i + 1][j]);
scambio = true;
}
}
}
}
}
}
</syntaxhighlight>
}
 
}
{{Portale|informatica}}
[[Categoria:Algoritmi di ordinamento]]