Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2014
    Messaggi
    13

    Bubble sort spiegazione

    A scuola il prof mi ha fatto vedere l'algoritmo di ordinamento bubble sort però non capisco una cosa.

    codice:
    void bubble_sort(int x[], int n)
    {
        int us, sup, aus;
        us = n - 1;
        while (us != 0)
        {
            sup = us;
            us = 0;
            for (int i = 0; i < sup; i++)
            if (x[i]>x[i + 1])
            {
                aus = x[i];
                x[i] = x[i + 1];
                x[i + 1] = aus;
                us = i;
            }
        }
    }

    Ho capito la parte dello scambio tra il valore minore e quello maggiore, ma non riesco a capire a cosa servono le variabile us e sup.
    Potreste spiegarmi gentilmente
    Ultima modifica di LeleFT; 20-05-2014 a 11:54 Motivo: Aggiunti i tag CODE

  2. #2
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,590
    Alla fine del primo ciclo l'array può essere ordinato da 0 a us, ma è sicuramente ordinato da us a n-1 in quanto us conterrà l'indice dell'ultimo scambio avvenuto. Quindi al secondo ciclo puoi fermarti a controllare i valori all'indice contenuto in us. sup serve perché siccome ad ogni ciclo devi cambiare il valore di us ti serve una variabile in cui conservare il precedente valore.

    P.s. in realtà tutta quella roba deriva da un'ottimizzazione. Se ti fosse stato spiegato il bubblesort di base e che cosa implica e poi gli vari step di ottimizzazione che derivano da alcune constatazioni non avresti problemi a comprenderlo.

    P.p.s. usa i tag code e leggi il regolamento
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2014
    Messaggi
    13
    Quote Originariamente inviata da Scara95 Visualizza il messaggio
    Alla fine del primo ciclo l'array può essere ordinato da 0 a us, ma è sicuramente ordinato da us a n-1 in quanto us conterrà l'indice dell'ultimo scambio avvenuto. Quindi al secondo ciclo puoi fermarti a controllare i valori all'indice contenuto in us. sup serve perché siccome ad ogni ciclo devi cambiare il valore di us ti serve una variabile in cui conservare il precedente valore.

    P.s. in realtà tutta quella roba deriva da un'ottimizzazione. Se ti fosse stato spiegato il bubblesort di base e che cosa implica e poi gli vari step di ottimizzazione che derivano da alcune constatazioni non avresti problemi a comprenderlo.

    P.p.s. usa i tag code e leggi il regolamento
    Grazie mille sei stato utilissimo

  4. #4
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,590
    Prego non c'è di che
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.