LASD

1 Liste

Suggerimenti per la realizzazione con cursori

Definire la variabile SPAZIO come membro della classe lista di tipo static.

Di norma oggetti diversi della stessa classe non condividono risorse di memoria. Per poter realizzare una comunicazione di ambiente condiviso bisogna dichiarare l'attributo (comune a tutte le istanze) come static. Gli attributi static possono essere visti come elementi propri della classe, non dell'istanza.

class Lista
  {

  public:
    ...
    Lista();    //costruttore
    ~Lista();   //distruttore

    // operatori
    void crealista();
    ...

  private:
    Static componenteSpazio SPAZIO[100];
    // metodi per la manipolazione dell'attributo SPAZIO
    ...
    // altri dati privati
  };
componenteSpazio un tipo strutturato costituito da una componente 'elemento' di tipo tipoelem e da una componente successivo di tipo posizione.

Esercizio 1.1

Implementare
 int lunghezza(Lista);
 void inverti(Lista &);
 bool palindoma(Lista);

Esercizio 1.2

Liste lineari ordinate: particolare tipo di lista in cui l'ordine sequenziale degli elementi legato ad una relazione d'ordine definita sugli elementi. (Nota: Potrebbe essere necessario definire gli operatori '<', '<=' e '>' per il tipo di dato contenuto nella lista pre definire la relazione d'ordine)

Esercizio 1.3

Multilista: supponendo di voler rappresentare un numero intero I mediante una lista, tale che il valore dell'elemento i-esimo della lista corrisponda a quello dell'i-esima cifra di I, definire una lista di interi ed implementare le funzioni per
 l1 --> 1 3 5 6
 l2 --> 3 4
 l3 --> 5 6 7
 l4 --> 1