This shows you the differences between two versions of the page.
|
sd-ca:laboratoare:laborator-06 [2015/04/03 12:03] razvan_madalin.matei [Exerciții] |
sd-ca:laboratoare:laborator-06 [2015/04/07 10:24] (current) dragos.dimitriu [Exerciții] |
||
|---|---|---|---|
| Line 108: | Line 108: | ||
| ===== Exerciții ===== | ===== Exerciții ===== | ||
| - | 1) [**3p**] Implementați în header-ul definit anterior funcțiile pentru o listă liniară dublu înlănțuită. | + | 1) [**5p**] Implementați în header-ul definit anterior funcțiile pentru o listă liniară dublu înlănțuită. |
| * [**3p**] constructor, destructor(eliberați memoria folosită) și isEmpty. | * [**3p**] constructor, destructor(eliberați memoria folosită) și isEmpty. | ||
| * [**1p**] addFirst și addLast. | * [**1p**] addFirst și addLast. | ||
| - | * [**1p**] removeFirst si removeLast. | + | * [**1p**] removeFirst, removeLast si removeFirstOccurence. |
| + | 2) [**2p**] Implementați o stivă folosind liste. | ||
| - | 2) [**3p**] Implementaţi o funcţie removeDuplicates şi demonstraţi funcţionarea acesteia printr-un cod simplist. Funcţia va trebui să elimine toate elementele duplicate din lista dublu înlănţuită. | + | <code cpp stack.h> |
| + | #ifndef __STACK__H | ||
| + | #define __STACK__H | ||
| - | 3) [**2p**] Implementati o coada cu liste. | + | template<typename T> |
| + | class Stack { | ||
| + | public: | ||
| + | // Constructor | ||
| + | Stack(); | ||
| + | |||
| + | // Destructor | ||
| + | ~Stack(); | ||
| + | |||
| + | void push(T x); | ||
| + | T pop(); | ||
| + | T peek(); | ||
| + | int isEmpty(); | ||
| + | |||
| + | private: | ||
| + | // Vectorul de stocare. | ||
| + | LinkedList<T> stackList; | ||
| + | // De ce nu mai este nevoie sa retinem topLevel? | ||
| + | }; | ||
| + | #endif | ||
| + | </code> | ||
| + | |||
| + | 3) [**2p**] Implementați o coadă folosind liste. | ||
| <code cpp queue.h> | <code cpp queue.h> | ||
| Line 147: | Line 172: | ||
| BONUS [**bragging rights**] Implementati inversarea unei liste simplu inlantuite, fara memorie auxiliara. | BONUS [**bragging rights**] Implementati inversarea unei liste simplu inlantuite, fara memorie auxiliara. | ||
| - | |||
| - | |||
| - | |||
| - | |||