This shows you the differences between two versions of the page.
sda-aa:laboratoare:04 [2021/03/24 09:52] cristian.rusu [3. Exercitii] |
sda-aa:laboratoare:04 [2021/03/24 20:01] (current) cristian.rusu [3. Exercitii] |
||
---|---|---|---|
Line 61: | Line 61: | ||
- | ==== 2. Ce este o stiva? ==== | + | ==== 2. Ce este o coada? ==== |
=== A. Definitie === | === A. Definitie === | ||
Line 83: | Line 83: | ||
IsEmpty - întoarce 0 dacă coada este goală;1 dacă are cel puțin un element. | IsEmpty - întoarce 0 dacă coada este goală;1 dacă are cel puțin un element. | ||
+ | <code C> | ||
int Qempty(){ | int Qempty(){ | ||
if(Q.front > Q.rear) | if(Q.front > Q.rear) | ||
Line 88: | Line 89: | ||
return 0; | return 0; | ||
} | } | ||
+ | </code> | ||
Enqueue / Adăugarea - adaugă un element (entitate) în coadă.Adăugarea se poate face doar la sfârșitul cozii. | Enqueue / Adăugarea - adaugă un element (entitate) în coadă.Adăugarea se poate face doar la sfârșitul cozii. | ||
Line 116: | Line 118: | ||
==== 3. Exercitii ==== | ==== 3. Exercitii ==== | ||
- | - Inversati cuvintele dintr-o propozitie citita din fisierul input.txt folosind o stiva punand rezultatul in output.txt. Organizati codul in felul urmator: folder "ex1", fisier principal "inversare_prop.c". Faceti un makefile in folder-ul exercitiului. | + | - (3 pt.) Inversati cuvintele dintr-o propozitie citita din fisierul input.txt folosind o stiva punand rezultatul in output.txt. Organizati codul in felul urmator: folder "ex1", fisier principal "inversare_prop.c". Faceti un makefile in folder-ul exercitiului. |
- | - Se considera un sir de numere intregi generat aleator. Dimensiunea sirului este data ca parametru programului la pornire. Sa se scrie functia care construieste doua stive (una cu numere negative si cealalta cu numere pozitive) ce contin numerele in ordinea initiala – folosind doar structuri de tip stiva. Indicatie: Se adauga toate elementele intr-o stiva temporara dupa care se extrag elementele din aceasta si se introduc in stiva corespunzatoare. Organizati codul in felul urmator: folder "ex2", fisier principal "split_lists.c". Faceti un makefile in folder-ul exercitiului. | + | - (3 pt.) Se considera un sir de numere intregi generat aleator. Dimensiunea sirului este data ca parametru programului la pornire. Sa se scrie functia care construieste doua stive (una cu numere negative si cealalta cu numere pozitive) ce contin numerele in ordinea initiala – folosind doar structuri de tip stiva. Indicatie: Se adauga toate elementele intr-o stiva temporara dupa care se extrag elementele din aceasta si se introduc in stiva corespunzatoare. Organizati codul in felul urmator: folder "ex2", fisier principal "split_lists.c". Faceti un makefile in folder-ul exercitiului. |
- | - Implementati o coada cu prioritati (fiecare element din structura are o prioritate) – primul element extras din coada e cel cu prioritatea maxima. Elementele care sunt adaugate in coada sunt generate aleator (atat valoarea nodului cat si prioritatea acestuia - valoarea este un numar intreg, iar prioritatea un numar natural). Implementati cat mai eficient. Organizati codul in felul urmator: folder "ex3", fisier principal "priority_queue.c". Faceti un makefile in folder-ul exercitiului. | + | - (4 pt.) Implementati o coada cu prioritati (fiecare element din structura are o prioritate) – primul element extras din coada e cel cu prioritatea maxima. Elementele care sunt adaugate in coada sunt generate aleator (atat valoarea nodului cat si prioritatea acestuia - valoarea este un numar intreg, iar prioritatea un numar natural). Implementati cat mai eficient. Organizati codul in felul urmator: folder "ex3", fisier principal "priority_queue.c". Faceti un makefile in folder-ul exercitiului. |
Template pentru codul sursa {{:sda-aa:laboratoare:stack_queue-lab3.zip|}}. | Template pentru codul sursa {{:sda-aa:laboratoare:stack_queue-lab3.zip|}}. |