Documente online.
Username / Parola inexistente
  Zona de administrare documente. Fisierele tale  
Am uitat parola x Creaza cont nou
  Home Exploreaza
Upload




























Liste liniar inlantuite

Informatica




 Liste liniar inlantuite
 ----- ----- --------- ----- ----
 O lista liniar inlantuita este o structura de date ce are elementele legate secvential. Exista un pointer catre primul element al listei,
 fiecare element al listei pointeaza catre urmatorul element al listei, av 19519m124t and ultimul element pointand catre NULL. De obicei, o lista
 inlantuita se creaza dinamic.

 Scriem in fisierul "header" intitulat "list.h" urmatoarele declaratii:
         #include <stdio.h>
         typedef char DATA;
        
         struct lista_inlantuita
          ;
 
         typedef struct lista_inlantuita ELEMENT;
         typedef ELEMENT *       LISTA;
 
 Relativ la alocarea dinamica, va reamintim ca functia "malloc()" are un singur argument de tip "size_t" si intoarce un pointer catre
 "void" care pointeaza catre adresa de baza a spatiului de memorie alocat (evident, cauta spatiu suficient pentru un obiect). Astfel,
 daca "head" este o variabila de tip "LISTA", atunci
         head = (LISTA) malloc(sizeof(ELEMENT));
 va produce o bucata din memorie menita sa memoreze un ELEMENT asignand adresa de baza pointerului "head".
 
 ------------
 Exemplu:
 ------------       
 Presupunem ca vrem sa creeam dinamic o lista liniar inlantuita pentru memorarea a trei caractere 'n', 'e' si 'w'. Considerand
         head = (LISTA) malloc(sizeof(ELEMENT));
         head -> d = 'n';
         head -> next = NULL;
 obtinem un memorie ceva de genul:       
       ----- ----- ------
 head --->| 'n' | NULL |
       ----- ----- -----
         d    next  
 
 Al doilea element este adaugat de instructiunile:
         head -> next = (LISTA) malloc(sizeof(ELEMENT));
         head -> next -> d = 'e';
         head -> next -> next = NULL;
 In memorie avem:
      ------------      ----- ----- -----
 head--->| 'n' |   ---|--->| 'e' | NULL |
      ------------      ----- ----- -----
        d   next         d     next 
 
 In sfarsit, adaugam si al treilea element:
         head -> next -> next = malloc(sizeof(ELEMENT));
         head -> next -> next -> d = 'w';
         head -> next -> next -> next = NULL;
 In memorie avem:
      ----- ----- ----      ----- ----- ----      ----- ----- ------
 head--->| 'n' |      ---|--->| 'e' |       ---|--->| 'w' | NULL |
      ----- ----- ----      ----- ----- ----      ----- ----- ------
        d     next          d    next            d     next
 
 
 ----- ----- ----------------
 Operatii pentru liste
 ----- ----- ----------------
 Operatiile de baza pentru liste liniar inlantuite includ urmatoarele:
         1. Crearea unei liste
         2. Numararea elementelor unei liste
         3.
Cautarea unui element
         4.
Inserarea unui element
         5.
Stergerea unui element













Document Info


Accesari: 1411
Apreciat:

Comenteaza documentul:

Nu esti inregistrat
Trebuie sa fii utilizator inregistrat pentru a putea comenta


Creaza cont nou

A fost util?

Daca documentul a fost util si crezi ca merita
sa adaugi un link catre el la tine in site

Copiaza codul
in pagina web a site-ului tau.




eCoduri.com - coduri postale, contabile, CAEN sau bancare

Politica de confidentialitate




Copyright © Contact (SCRIGROUP Int. 2022 )