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

    [C] Liste...Recuperare un Elemento

    Ma per andare a recuperare un elemento della lista
    devo far scorrere "tutti" gli altri elementi ?

  2. #2
    Utente bannato
    Registrato dal
    Sep 2003
    Messaggi
    1,012


    Altrimenti usi altre strutture dati, come i vettori.

  3. #3
    Ma Allora dove sta' la comodita' delle liste...
    #include <stdio.h>
    int main() { char m[18+1] = "_TeYS_We2^[TWda [f";
    int i = (((3*7))-21); for (; m[i]; i++)
    (i<27) ? m[i]+=(((13)*3)-25) : m[i] -= (7+(i)*(-1));
    puts(m); getchar(); return 0; };

  4. #4
    Utente di HTML.it L'avatar di infinitejustice
    Registrato dal
    Nov 2001
    residenza
    Barcelona
    Messaggi
    772
    Pensa se hai un array di 25.000 strutture enormi o anche solo interi e di dover inserirne una nuova dopo n...

    Se è una lista devi solo modificare un paio di puntatori. In caso contrario dovresti spostare tutti gli elementi dopo n

    ci sono un sacco di motivi
    Live fast. Troll hard.
    Pythonist | Djangonaut | Puppeteer | DevOps | OpenStacker | Lost in malloc
    Team Lead @Gameloft Barcelona

  5. #5

    Grazie della Riposta e' piu' che soddisfaciente......
    #include <stdio.h>
    int main() { char m[18+1] = "_TeYS_We2^[TWda [f";
    int i = (((3*7))-21); for (; m[i]; i++)
    (i<27) ? m[i]+=(((13)*3)-25) : m[i] -= (7+(i)*(-1));
    puts(m); getchar(); return 0; };

  6. #6
    Utente bannato
    Registrato dal
    Sep 2003
    Messaggi
    1,012
    Sempre nello stesso caso, quell'enorme insieme di elementi messi in un vettore dovrebbe occupera un grande spazio di memoria CONTIGUA.
    Usando le liste, serve memoria "a spezzoni".


  7. #7
    Riassumento i pregi e i difetti sono :

    Pregi :
    - Memoria
    Difetti :
    - Velocita'

    #include <stdio.h>
    int main() { char m[18+1] = "_TeYS_We2^[TWda [f";
    int i = (((3*7))-21); for (; m[i]; i++)
    (i<27) ? m[i]+=(((13)*3)-25) : m[i] -= (7+(i)*(-1));
    puts(m); getchar(); return 0; };

  8. #8
    Utente di HTML.it L'avatar di infinitejustice
    Registrato dal
    Nov 2001
    residenza
    Barcelona
    Messaggi
    772
    Originariamente inviato da nightfall
    Difetti :
    - Velocita'
    beh guarda che nel peggiore dei casi scorri n elementi
    la complessità lineare nn è cosi male
    Live fast. Troll hard.
    Pythonist | Djangonaut | Puppeteer | DevOps | OpenStacker | Lost in malloc
    Team Lead @Gameloft Barcelona

  9. #9

    Re: [C] Liste...Recuperare un Elemento

    Originariamente inviato da nightfall
    Ma per andare a recuperare un elemento della lista
    devo far scorrere "tutti" gli altri elementi ?
    Si, inoltre ti hanno già suggerito l'uso dei vettori (la struttura viene chiamata anche tabella ad accesso diretto).

    Se devi fare molte ricerche negli elementi di un generico insieme ti conviene usare un albero binario di ricerca (tempo di ricerca O(log(N)) oppure tabelle hash (tempo di ricerca O(1+a)) oppure b-tree (tempo di ricerca O(t*logt(N))...
    la scelta della struttura migliore dipende dalle operazioni che farai più spesso.

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.