Metode si Tehnici de programare - limbajul C++

Adrian Runceanu

 

LISTE LINIARE SIMPLU INLANTUITE

A. Consideratii teoretice

In anumite limbaje cum ar fi cele de nivel superior (exemplu PASCAL, ALGOL, etc) se pot construi programe in care gestiunea memoriei sa se faca dinamic. Astfel se utilizeaza alocarea dinamica a memoriei. Aceasta se realizeaza prin doua zone diferite de memorie pusa la dispozitie de limbaj, si anume stiva programului, unde se memoreaza informatiile asociate apelurilor de subprograme si o zona numita heap, de unde pot fi "luate" sau unde pot fi "aruncate" zone utilizate de programator, acesta prelucrand la un moment dat numai necesarul de memorie de care are nevoie. Zonele din heap au nume simbolic asociat in program ele fiind accesate prin adresa de memorie a inceputului (prima locatie).

B. Exemple de program

3. Sa se creeze o lista liniara simplu inlantuita in care informatiile (nr. intregi) sa fie ordonate in ordine crescatoare. Indicatie: Se va folosi sortarea prin insertie.

4. Sa se scrie un program care sa creeze o lista simplu inlantuita si apoi sa stearga elementele multiple de 5.

5. Sa se creeze o lista liniara simplu inlantuita folosind tehnica recursivitatii.

C. Exercitii si teme

1. Sa se ruleze programele prezentate, urmarind fiecare operatie in parte.

2. Sa se constuiasca o lista simplu inlantuita care sa contina informatii despre studentii unei grupe si sa afiseze numele si media acelora care au media >=5.00. Se va utiliza o structura de tip lista:

typedef struct lista

{ char nume[30];

int grupa;

float media;

struct lista *adr;

}lista;

3. Sa se construiasca o lista liniara simplu inlantuita cu numere intregi si sa afiseze numarul aflat in mijlocul listei.

 

Inapoi | Cuprins | Inainte

 

Copyright adrian.runceanu.ro: 2009-2016