Sunteți pe pagina 1din 1

Disciplina: Programarea calculatorului Profesor: Cazacu Doina

Laborator 2. Structuri dinamice de date


1. Se consideră următoarea declarație:
struct nod {
int inf;
nod *urm; };
typedef struct nod * Lista;
a) Creați o lista simplu înlănțuită cu n elemente;
b) Scrieţi o funcţie care să primească ca parametru adresa primului nod al unei liste simplu
înlănţuite şi care să returneze numărul de noduri ale listei, a cărei informație utilă este număr
negativ impar.
c) Sa se scrie o funcție care primește ca parametru adresa primului nod al listei şi inserează in fata
fiecărui nod care memorează o valoare negativa un nod care sa memoreze opusul acesteia.
d) Ștergeți nodurile listei a căror informație utilă este din intervalul [5; 15];
e) Sa se scrie o funcţie care şterge din lista elementele impare ale listei. 

2. Sa se creeze o lista liniara simplu înlănţuită care conţine elemente întregi citite dintr-ul fișier
text. Sa se scrie o funcţie care primește ca parametru adresa primului nod al listei şi inserează
după fiecare nod care memorează o valoare para un nod care sa memoreze jumătate din valoare
acestuia. Se citește apoi o valoare întreaga x. Să se şteargă nodurile care conţin informația utilă
divizibilă cu x. 
3. De la tastatură se introduce un număr natural n. Creaţi o stivă ce va conţine divizorii acestui
număr.
4. De la tastatură se introduce un număr natural n, apoi n numere întregi. Creaţi două cozi, astfel
încât una să conţină numerele negative, iar cealaltă –numerele nenegative dintre cele n numere
introduse de la tastatură.

5. Se consideră următoarea declarație:

struct nod {
int inf;
nod *urm; };
typedef struct nod * Lista;
a) Creați o lista simplu înlănțuită până la introducerea elementului cu valorea 100;
b) Scrieţi o funcţie care să primească ca parametru adresa primului nod al unei liste simplu
înlănţuite şi care să returneze numărul de noduri ale listei, a cărei informație utilă este număr
nenegativ par.
c) Sa se scrie o functie care primeste ca parametru adresa primului nod al listei si insereaza in fata
fiecarui nod care memoreaza o valoare nenegativa un nod care sa memoreze dublul acestuia.
d) Sa se scrie o functie care primeste ca parametru adresa primului nod al listei si insereaza dupa
fiecare nod care memoreaza o valoare divizibilă cu 5 un nod care sa memoreze inversul acestei
valoari.
e) Ștergeți nodurile listei a căror informație utilă este din intervalul [-5; 10];
f) Sa se scrie o funcţie care şterge din listă, elementele negative ale acesteia. 

S-ar putea să vă placă și