Corsi on-line
Chiudi
Newsletter:
  • Seguici su Facebook
  • Seguici su Twitter
  • Seguici su Google+
  • Seguici via RSS
  • Seguici col tuo Smartphone

Algoritmi di ordinamento in C#

Articolo scritto da Vincenzo Gaglio
Pagina 1 di 7

L’ordinamento di una lista di oggetti è uno dei problemi fondamentali del calcolo automatico. Esistono diverse soluzioni per effettuare questa operazione ed esse rientrano nell’area dei cosiddetti algoritmi di ordinamento. Alcuni di questi algoritmi sono semplici e intuitivi, mentre altri sono più complessi e permettono di ottenere prestazioni migliori.

Tra i più conosciuti e diffusi algoritmi di ordinamento vi sono:

BUBBLE SORT

Il Bubble Sort opera comparando ogni elemento di una lista con l’elemento successivo, scambiandoli di posto se necessario. L’algoritmo ripete questo processo finchè non scorre l’intera lista senza effettuare scambi tra gli elementi. Il nome bubble (bolla) deriva dal modo in cui gli elementi vengono ordinati: quelli più piccoli risalgono verso le proprie posizioni corrette all’interno della lista, proprio come bollicine di una bibita gassata. A causa di questo modo di operare questo algoritmo è considerato il più inefficiente tra quelli elencati.

Di seguito il codice di una implementazione di tale algoritmo:

//Array di interi
private int[] a = new int[100];

//Numero di elementi dell'array
private int x;

public void BubbleSort()
{
  int i;
  int j;
  int temp;

  for (i = (x - 1); i >= 0; i--)
  {
    for (j = 1; j <= i; j++)
    {
      if (a[j - 1] > a[j])
      {
        temp = a[j - 1];
        a[j - 1] = a[j];
        a[j] = temp;
      }
    }
  }
}

Corsi
Corso ASP.NETCorso ASP.NET
Corso completo per la creazione di applicazioni Web. A partire da 49 €.
Corso VB.NETCorso VB.NET
Realizzare applicazioni Desktop con Visual Basic .NET. A partire da 49 €.
Vedi anche...
Annunci

Mr.Webmaster

Pubblicità
Chi Siamo
Contattaci
Collabora
Note Legali
© 2003 - 2012 Mr.Webmaster - Il portale dei Webmaster Italiani - Tutti i diritti riservati | Powered by IKIweb Internet Media S.r.l. - PIVA 02848390122