Differences

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

Link to this comparison view

appunti3s:vector [2018/04/25 07:55] (current)
Line 1: Line 1:
 +====== Vector ======
 +Sono la struttura dati più comune e più utile, per memorizzare un insieme di valori dello stesso tipo. 
 +Ad esempio per memorizzare 10 voti, invece di usare 10 variabili (di tipo semplice), con 10 nomi diversi, si può usare una sola variabile di tipo strutturato. ​
 +===== I vector sono degli oggetti =====
 +Per poter utilizzare tutte le utili funzioni fornite dai //vector// è necessario conoscere la programmazione orientata agli oggetti...
 +
 +La struttura di un //vector// può essere descritta facendo alcuni esempi:
 +
 +  * creare la struttura ed inizializzarla correttamente ​
 +    * <​code>​vector<​double>​ voti;</​code>​ {{ :​appunti3s:​vector0.png |}}
 +  * copia l'​elemento passato e aggiorna la dimensione
 +    * <​code>​voti.push_back(6.5);</​code>​ {{ :​appunti3s:​vector1.png |}}
 +  * copia in fondo l'​elemento passato e aggiorna la dimensione
 +    * <​code>​voti.push_back(7.5);</​code>​ {{ :​appunti3s:​vector2.png |}}
 +
 +<file c vector1.cpp>​
 +// inserire alcuni voti in un vector:
 +#include <​vector>​
 +int main()
 +{
 +    std::​vector<​double>​ voti;      // per inserire dei voti in formato double
 +    std::cout << "​inserire voti terminando con uno zero"
 +    double temp=-1.0; ​             // una variabile per contenere un solo voto
 +    while (temp)
 +    {
 +       ​std::​cin >> temp;           // cin legge un valore e lo mette in temp
 +       ​voti.push_back(temp); ​      // memorizzo il valore di temp nel vector
 +    }
 +    // ... aggiungere eventuale elaborazione dei voti ...
 +    }
 +
 +</​file>​
 +  * Non è necessario specificarne la dimensione nella dichiarazione
 +  * Sono allocati in modo dinamico, ma non se ne deve preoccupare direttamente il programmatore
 +  * I dati sono allocati in modo continuo
 +  * L'​accesso ai dati è di tipo diretto
 +
 +Un //vector// può contenere qualsiasi tipo di oggetti, ad esempio //string//:
 +
 +<file c vector2.cpp>​
 +// inserire alcuni voti in un vector:
 +#include <​vector>​
 +#include <​iostream>​
 +int main()
 +{
 +    std::​vector<​std::​string>​ parole; ​   // per inserire delle parole in formato string
 +    std::cout << "​inserire parole terminando con invio/​n";​
 +    std::string temp=" "; ​              // una variabile per contenere una parola
 +    while (temp!=""​)
 +    {
 +       ​std::​cin >> temp;                // cin legge una parola e la mette in temp
 +       ​parole.push_back(temp); ​         // memorizzo la parola in temp nel vector
 +    }
 +    // ... aggiungere eventuale elaborazione ...
 +}
 +</​file>​
  
  • appunti3s/vector.txt
  • Last modified: 2018/04/25 07:55
  • (external edit)