Visualizzazione dei risultati da 1 a 5 su 5

Discussione: [C] Bubble sort

  1. #1

    [C] Bubble sort

    ciao a tutti, ho una piccola difficoltà a comprendere come realizzare un algoritmo di bubble sort.

    ho una struttura di questo tipo:

    codice:
    typedef struct st_BOOK
    {
    char autore[20], titolo[20], editore[20], edizione[5], genere[20];
    struct st_BOOK *next;
    }
    e ho realizzato anche una funzione per scambiare gli indirizzi

    codice:
    void scambia_libri(BOOK *primo, BOOK *secondo)
    {
    BOOK *tmp;
    tmp = primo;
    primo = secondo;
    secondo = tmp;
    return;
    }
    ora, non sono certo nè dell'utilità nè del fatto che funzioni, però nn so come gestire il resto dell'algoritmo e nn so se basta appunto scambiare gli indirizzi dei puntatori o cosa...

  2. #2

    Re: [C] Bubble sort

    Originariamente inviato da Ratatuia
    ciao a tutti, ho una piccola difficoltà a comprendere come realizzare un algoritmo di bubble sort.

    ho una struttura di questo tipo:

    codice:
    typedef struct st_BOOK
    {
    char autore[20], titolo[20], editore[20], edizione[5], genere[20];
    struct st_BOOK *next;
    }
    e ho realizzato anche una funzione per scambiare gli indirizzi

    codice:
    void scambia_libri(BOOK *primo, BOOK *secondo)
    {
    BOOK *tmp;
    tmp = primo;
    primo = secondo;
    secondo = tmp;
    return;
    }
    ora, non sono certo nè dell'utilità nè del fatto che funzioni, però nn so come gestire il resto dell'algoritmo e nn so se basta appunto scambiare gli indirizzi dei puntatori o cosa...
    Se ho capito bene hai un'array di puntatori a BOOK da ordinare in base ad un cero campo di BOOK giusto?Beh se è così scambia libri non scambia un bel nulla perchè i parametri attuali sono come variabili locali,devi usare dei doppi puntatori a BOOK (ovviamente con le opportune modifiche a scambia libri che ne scaturiscono)
    Il centro dell'attenzione non è sempre un buon posto in cui trovarsi

    Mai discutere con uno stupido, la gente potrebbe non capire la differenza. (O. W.)

  3. #3

    Re: Re: [C] Bubble sort

    Originariamente inviato da unomichisiada
    Se ho capito bene hai un'array di puntatori a BOOK da ordinare in base ad un cero campo di BOOK giusto?Beh se è così scambia libri non scambia un bel nulla perchè i parametri attuali sono come variabili locali,devi usare dei doppi puntatori a BOOK (ovviamente con le opportune modifiche a scambia libri che ne scaturiscono)

    ciao

    nn ho un array di puntatori ma una lista...in effetti mi hai fatto venire il dubbio che la funzione dovrei farla in questo modo, giusto?

    void scambia_libri(BOOK *primo, BOOK *secondo)
    {
    BOOK *tmp;
    *tmp = *primo;
    *primo = *secondo;
    *secondo = *tmp;
    return;
    }

  4. #4

    Re: Re: Re: [C] Bubble sort

    Originariamente inviato da Ratatuia
    ciao

    nn ho un array di puntatori ma una lista...in effetti mi hai fatto venire il dubbio che la funzione dovrei farla in questo modo, giusto?

    void scambia_libri(BOOK *primo, BOOK *secondo)
    {
    BOOK *tmp;
    *tmp = *primo;
    *primo = *secondo;
    *secondo = *tmp;
    return;
    }
    Sbagliato ...
    codice:
    void scambia_libri(BOOK **primo, BOOK **secondo)
    {
    BOOK *tmp;
    tmp = *primo;
    *primo = *secondo;
    *secondo = tmp;
    }
    Il centro dell'attenzione non è sempre un buon posto in cui trovarsi

    Mai discutere con uno stupido, la gente potrebbe non capire la differenza. (O. W.)

  5. #5

    Re: Re: Re: Re: [C] Bubble sort

    Originariamente inviato da unomichisiada
    Sbagliato ...
    codice:
    void scambia_libri(BOOK **primo, BOOK **secondo)
    {
    BOOK *tmp;
    tmp = *primo;
    *primo = *secondo;
    *secondo = tmp;
    }

    ecco


    tnx

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.