Html

633 mots 3 pages
Page suivante
Déclaration en C d'une liste chainée
Lorsque vous créez un algorithme utilisant des conteneurs, il existe différentes manières de les implémenter, la façon la plus courante étant les tableaux, que vous connaissez tous. Lorsque vous créez un tableau, les éléments de celui-ci sont placés de façon contiguë en mémoire. Pour pouvoir le créer, il vous faut connaître sa taille. Si vous voulez supprimer un élément au milieu du tableau, il vous faut recopier les éléments temporairement, ré-allouer de la mémoire pour le tableau, puis le remplir à partir de l'élément supprimé. En bref, ce sont beaucoup de manipulations coûteuses en ressources.
Une liste chaînée est différente dans le sens où les éléments de votre liste sont répartis dans la mémoire et reliés entre eux par des pointeurs. Vous pouvez ajouter et enlever des éléments d'une liste chaînée à n'importe quel endroit, à n'importe quel instant, sans devoir recréer la liste entière.
Nous allons essayer de voir ceci plus en détail sur ces schémas :

Vous avez sur ce schéma la représentation que l'on pourrait faire d'un tableau et d'une liste chaînée. Chacune de ces représentations possède ses avantages et inconvénients. C'est lors de l'écriture de votre programme que vous devez vous poser la question de savoir laquelle des deux méthodes est la plus intéressante. * Dans un tableau, la taille est connue, l'adresse du premier élément aussi. Lorsque vous déclarez un tableau, la variable contiendra l'adresse du premier élément de votre tableau.
Comme le stockage est contigu, et la taille de chacun des éléments connue, il est possible d'atteindre directement la case i d'un tableau. * Pour déclarer un tableau, il faut connaître sa taille. * Pour supprimer ou ajouter un élément à un tableau, il faut créer un nouveau tableau et supprimer l'ancien. Ce n'est en général pas visible par l'utilisateur, mais c'est ce que realloc va souvent faire. L'adresse du premier élément d'un tableau peut changer

en relation

  • Fiche aps campus de lyon
    315 mots | 2 pages
  • Keith Haring
    749 mots | 3 pages
  • La mort de sardanapale analyse (by a.a)
    1020 mots | 5 pages
  • Methodo_paragraphe_argumente
    648 mots | 3 pages
  • TF1 projet
    847 mots | 4 pages
  • Rockwell
    1178 mots | 5 pages
  • maaaaa
    1143 mots | 5 pages
  • Rafael Document's
    494 mots | 2 pages
  • brevet
    396 mots | 2 pages
  • Html
    477 mots | 2 pages
  • Comment les activités économiques sont-elles régulation de la concurrence ?
    2076 mots | 9 pages
  • Bigboysinit
    300 mots | 2 pages
  • Les finances royales
    1848 mots | 8 pages
  • Inegalite sante dans le monde cap
    637 mots | 3 pages
  • Marcel ducahm lhooq
    691 mots | 3 pages