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 10:56]
dragos.dimitriu [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.
  
 +2) [**2p**] Implementați o stivă folosind liste.
  
-2) [**3p**] Implementați functia removeFirstOccurrence și demonstrați funcționarea acesteia printr-un cod simplist.+<code cpp stack.h> 
 +#ifndef __STACK__H 
 +#define __STACK__H
  
-3[**3p**] Implementati o coada sau o stiva cu liste.+template<​typename T> 
 +class Stack { 
 +public: 
 +    // Constructor 
 +    Stack();
  
 +    // Destructor
 +    ~Stack();
  
-4[**4p**] Implementati inversarea unei liste simplu inlantuite, fara memorie auxiliara.+    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>
 +
 +#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>​
 +
 +
 +BONUS [**bragging rights**] Implementati inversarea unei liste simplu inlantuite, fara memorie auxiliara.
  
  
sd-ca/laboratoare/laborator-06.1428047805.txt.gz · Last modified: 2015/04/03 10:56 by dragos.dimitriu
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