Documente online.
Zona de administrare documente. Fisierele tale
Am uitat parola x Creaza cont nou
 HomeExploreaza
upload
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: 1707
Apreciat: hand-up

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


in pagina web a site-ului tau.




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

Politica de confidentialitate | Termenii si conditii de utilizare




Copyright © Contact (SCRIGROUP Int. 2024 )