Shear sort

Shear sort
ClasseAlgoritmo di ordinamento
Struttura datiArray
Caso peggiore temporalmente

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 .

Implementazioni

[modifica | modifica wikitesto]
void shear_sort(int v[][], int n, int m) {     bool scambio = true;     while (scambio) {         scambio = false;         for (int i = 0; i < n; i++) {             if (i % 2 == 0) {                 for (int j = 0; j < m - 1; j++) {                     if (v[i][j] > v[i][j + 1]) {                         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;                 }             }         }     } } 
  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica