Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Coda realizzata con array

    Non capisco cosa significa questa frase che ho trovato sul libro quando parla delle code realizzate con array:

    Gestiamo l'array in modo circolare: concettualmente, dopo la posizione n-1 c'è la posizione 0. Questo si ottiene incrementando gli indici modulo n.

    Che significa incrementando gli indici di modulo n??

    perchè poi successivamente per definire le operazioni fattibili su una coda...ad esempio il push...lo definisce così:

    c[coda]=e; coda=(coda++)%N; nelem++;


    Vi ringrazio in anticipo per le risposte....
    L'impossibile richiede solo più tempo...

  2. #2
    L'operatore di modulo
    codice:
    <risultato> = <valore> % <modulo>;
    restituisce in <risultato> il resto della divisione di <valore> per <modulo>

    In pratica
    codice:
    c[coda]=e; 
    coda=(coda++)%N; //incrementa "coda" dopo aver eseguito il modulo per N
    nelem++;
    Sicuro che l'istruzione non è strutturata in questo modo ?
    codice:
    coda=(coda+1)%N;

  3. #3
    no...l'istruzione è scritta sul libro così come t ho scritto io...

    comunque non ho capito perchè io devo fare:

    coda=(coda++)&N;
    nelem++;

    cioè essendo "coda" il puntatore all'elemento di coda, io metto nel puntatore a coda il resto della divisione tra l'incremento di coda ed N...perchè faccio questo???
    L'impossibile richiede solo più tempo...

  4. #4
    Mostra il resto del codice ...
    Avendo solo quelle 3 righe non si può dedurre molto

  5. #5
    Non c'è nemmeno sul libro altro codice....perchè la domanda è semplice...

    se definisco una coda tramite array ad esempio in questo modo:

    coda c;

    se poi richiamo la variabile c da sola, essa contiene il puntatore al 1°elemento della coda???
    L'impossibile richiede solo più tempo...

  6. #6

    Re: Coda realizzata con array

    Non hai specificato il linguaggio.
    Ipotizzando che si tratti di C o C++ ho il sospetto che la seguente
    codice:
    coda=(coda++)%N;
    possa avere un comportamento indefinito, come illustrato in:
    http://gcc.gnu.org/bugs/#known

    Nel dubbio quindi meglio evitare espressioni analoghe.
    ;-)

  7. #7
    Originariamente inviato da minidiable
    Non c'è nemmeno sul libro altro codice....perchè la domanda è semplice...

    se definisco una coda tramite array ad esempio in questo modo:

    coda c;

    se poi richiamo la variabile c da sola, essa contiene il puntatore al 1°elemento della coda???
    La mia risposta non c'entra niente con questo post...scusate...veramente...ho risposto...a un altro mio post...:

    http://forum.html.it/forum/showthrea...readid=1368423
    L'impossibile richiede solo più tempo...

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 © 2025 vBulletin Solutions, Inc. All rights reserved.