algorithm                
            Ordinamento pari dispari
        
        
            
    Ricerca…
Informazioni di base ordinate dispari-pari
Un ordinamento Odd-Even Sort o brick è un semplice algoritmo di ordinamento, sviluppato per l'uso su processori paralleli con interconnessione locale. Funziona confrontando tutte le coppie indicizzate pari / dispari degli elementi adiacenti nell'elenco e, se una coppia è nell'ordine sbagliato, gli elementi vengono scambiati. Il prossimo passaggio lo ripete per coppie indicizzate pari / dispari. Quindi si alterna tra passaggi pari / dispari e pari / dispari finché la lista non viene ordinata.
Pseudo codice per ordinamento dispari pari:
if n>2 then
    1. apply odd-even merge(n/2) recursively to the even subsequence a0, a2, ..., an-2 and to the odd subsequence a1, a3, , ..., an-1
    2. comparison [i : i+1] for all i element {1, 3, 5, 7, ..., n-3}
else
    comparison [0 : 1]
 Wikipedia ha la migliore illustrazione di Odd-Even sort:
Esempio di ordinamento dispari pari:
Implementazione:
Ho usato il linguaggio C # per implementare algoritmi di ordinamento dispari-pari.
public class OddEvenSort
{
    private static void SortOddEven(int[] input, int n)
    {
        var sort = false;
        while (!sort)
        {
            sort = true;
            for (var i = 1; i < n - 1; i += 2)
            {
                if (input[i] <= input[i + 1]) continue;
                var temp = input[i];
                input[i] = input[i + 1];
                input[i + 1] = temp;
                sort = false;
            }
            for (var i = 0; i < n - 1; i += 2)
            {
                if (input[i] <= input[i + 1]) continue;
                var temp = input[i];
                input[i] = input[i + 1];
                input[i + 1] = temp;
                sort = false;
            }
        }
    }
    public static int[] Main(int[] input)
    {
        SortOddEven(input, input.Length);
        return input;
    }
}
  Spazio ausiliario: O(n) 
 Complessità del tempo: O(n) 

