Differences

This shows you the differences between two versions of the page.

Link to this comparison view

sd-ca:laboratoare:laborator-06 [2015/04/03 08:26]
andrei.vasiliu2211 [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) [**4p**] 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ă. 
-   * [**2p**] 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**] removeFirstremoveLast ​si removeFirstOccurence.
  
-3) [**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ă.+2) [**2p**] Implementați o stivă folosind liste. 
 + 
 +<code cpp stack.h>​ 
 +#ifndef __STACK__H 
 +#define __STACK__H 
 + 
 +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. 3) [**2p**] Implementați o coadă folosind liste.
Line 143: Line 169:
 #endif #endif
 </​code>​ </​code>​
 +
 +
 +BONUS [**bragging rights**] Implementati inversarea unei liste simplu inlantuite, fara memorie auxiliara.
 +
  
 <​hidden>​ <​hidden>​
-2) [**2p**] Implementați ​functia removeFirstOccurrence și demonstrați funcționarea acesteia printr-un cod simplist.+3) [**2p**] Implementați ​o coadă folosind liste. 
 + 
 +<code cpp queue.h>​ 
 + 
 +#ifndef __QUEUE_H 
 +#define __QUEUE_H 
 + 
 +template <​typename T> 
 +class Queue { 
 +private: 
 +    // De ce nu mai este nevoie sa retinem head, tail si size? 
 +    LinkedList<​T>​ queueList;​ 
 + 
 +public: 
 +    // Constructor. 
 +    Queue(); 
 + 
 +    // Destructor. 
 +    ~Queue(); 
 + 
 +    void enqueue(T e); 
 +    T dequeue();​ 
 +    T front(); 
 +    int isEmpty();​ 
 +}; 
 + 
 +#endif 
 +</​code>​ 
  
  
sd-ca/laboratoare/laborator-06.1428038802.txt.gz · Last modified: 2015/04/03 08:26 by andrei.vasiliu2211
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0