La classe std::vector della Standard Template Library del C++
|
|
|
- Rebecca Bianchini
- 8 anni fa
- Просмотров:
Транскрипт
1 La classe std::vector della Standard Template Library del C++ Alberto Garfagnini Università degli studi di Padova 23 Ottobre 2013 Programmazione generica in C++ : i Template I templates sono probabilmente uno degli aspetti più importanti della programmazione in linguaggio C++. Permettono di definire delle azioni che si vuole vengano attuate da oggetti di tipo diverso. I template si dichiarano usando la parola chiave template seguita da una lista di parametri tipo template <parameter list>...template declaration... Esistono diversi tipi di dichiarazioni template di una funzione template; di una classe template; di membri (metodi) di una classe;...
2 Esempio di funzione template Si voglia scrivere una funzione che ritorna il massimo tra due oggetti generici // funzione che ritorna il piu grande tra due oggetti template <typename objt> objt & get_max( objt & value1, objt & value2 ) if (value1 > value ) return value1; else return value2; Consideriamo due esempi di invocazione della funzione con tipi int e double int n1 = 5, n2 = 7; int n_max = get_max <int> (n1, n2); double val1 = 5.3, val2 = -3.4; double val_max = get_max <double> (val1, val2); Programmazione generica in C++ : i Template La Standard Template Library contiene svariati ottimi esempi di template. Nella STL sono disponibili una vasta collezione di classi template e funzioni che contengono algoritmi e utility generiche. Un esempio tipico sono i contenitori template che implementano array dinamici, liste, code, stack, etc. sono disponibili: contenitori per lo storage dell informazione; iteratori che permettoni di accedere all informazione; algoritmi per manipolare il contenuto dei contenitori
3 Contenitori sequenziali: std::vector la classe std::vector permette di creare un array dinamico e di accedere o manipolare un suo elemento data la posizione (indice) usando l operatore [] 1. è un array dinamico 2. è possibile aggiungere o togliere elementi, modificando run-time la dimensione 3. normalmente si aggiungono elementi nuovi alla fine, ma è anche possibile inserirli all inizio o in una posizione qualsiasi 4. è possibile effettuare delle ricerche all interno del vector Gli iteratori nella STL l esempio più semplice di iteratore è un puntatore Gli iteratori sono classi template che possono essere pensati come una generalizzazione dei puntatori tramite gli iteratori è possibile navigare tra gli elementi di un contenitore in modo da accedere agli elementi ed eseguire operazioni gli iteratori STL posssono essere classificati in Iteratore di Input : possono essere usati per accedere ad un oggetto che si trova in una collezione. Iteratori di Output : permettono al programatore di scrivere nella collezione. inoltre, a seconda di come permettono di muoversi nella collezione sono Iteratori in Avanti Iteratori Bidirezionali Iteratori ad Accesso Casuale
4 std::vector La classe std::vector fornisce le funzionalità di un array dinamico con le seguenti caratteristiche: inserzione di nuovi elementi alla fine dell array rimozione di elementi dalla fine dell array inserzione/rimozione di elementi in testa o in un punto qualsiasi dell array per usare il contenitore bisogna includere l header file Es 1 - creazione di vettori // Un vettore dinamico std::vector <double> v_dyna; // Un vettore con 10 elementi std::vector <int> vint_10_elements(10); // Un vettore con 10 elementi, inizializzati a 90 std::vector <int> vint_10(10, 90); // Un vettore inizializzato con il contenuto di un altro std::vector<int> vcopy(vint_10_elements); // Un vettore con 5 valori presi da un altro std::vector<int> vcopy_5(vint_10.begin(),vint_10.begin()+5);
5 Es 2 - Aggiungiamo elementi ad un vettore // Un vettore dinamico std::vector <int> v_dyna; // Inseriamo dei valori v_dyna.push_back(1); v_dyna.push_back(22); v_dyna.push_back(22+34); v_dyna.push_back( rand() ); std::cout << "Il vettore contiene "; std::cout << v_dyna.size() << " elementi\n"; Es 3 - Utilizzo semantica degli array // Fissiamo la dimensione dell array std::vector <double> v(4); // Inseriamo dei valori v[0] = 1.0; v[1] = 22.0; v[2] = sqrt(3.1415/2); v[3] = 37.5; std::cout << "Il vettore contiene "; std::cout << v.size() << " elementi\n";
6 Es 4 - Uso degli iteratori using namespace std; vector <double> v(4);... vector <double>::iterator walk = v.begin(); while (walk!= v.end()) cout << * walk << endl; // L iteratore va incrementato // per accedere all elemento successivo walk++; Es 4bis - Uso della sintassi degli array using namespace std; vector <double> v(4);... int index = 0; while (index < v.size()) cout << v[index] << endl; // Il contatore va incrementato // per accedere all elemento successivo index++;
7 Es 5 - Ricerca del numero 2991 nel vettore #include <algorithm> using namespace std; vector <int> vi;... vector <int>::iterator element; element = find(vi.begin(), vi.end(), 2991) // Controlliamo se l elemento e stato trovato if (element!= vi.end()) int index = distance(vi.begin(), element); cout << "Valore " << *element; cout << " trovato alla posizione " << index << endl; Es 6 - Rimozione di un elemento alla fine del vettore // Un vettore dinamico std::vector <int> v_dyna; // Inseriamo dei valori v_dyna.push_back(23); v_dyna.push_back(76); std::cout << "Il vettore contiene "; std::cout << v_dyna.size() << " elementi\n"; // Estraiamo un valore v_dyna.pop_back(); std::cout << "Il vettore contiene "; std::cout << v_dyna.size() << " elementi\n";
8 Es 7 - Vettore a 2-dim una matrice n m può essere pensata come un vettore di vettori // matrice bidimensionale 3 x 2 using namespace std; vector <vector <double> > A(3, vector <double> (2,0); A[0][0] = 0; A[0][1] = 1; A[1][0] = 10; A[1][1] = 11; A[2][0] = 20; A[2][1] = 21; // Loop con indici for (int i=0; i<3; i++) for (int j=0; j<2; i++) std::cout << A[i][j] << endl; Es 7 - Vettore a 2-dim con iteratori // matrice bidimensionale 3 x 2 using namespace std; vector <vector <double> > Matrix; vector <double> > A, B; vector <vector <double> >::iterator iti; vector <double>::iterator itj; A.push_back(100);... B.push_back(20);... Matrix.push_back(A); Matrix.push_back(B); // Loop con iteratori for (iti=matrix.begin(); iti!=matrix.end(); iti++) for (itj=(*iti).begin(); itj!=(*iti.end()); itj++) std::cout << *itj << endl;
9 std::vector - costruttori vector <type> v crea un vettore di tipo type vector <type> v(n) crea un vettore di tipo type e dimensione n vector <type> v(n, const T & t) crea un vettore di tipo type con dimensione n e lo inizializza ai valori costanti t vector <type> v(begin_iterator,end_iterator) crea un vettore di tipo type e lo inizializza copiando gli elementi da un altro vettore da begin_iterator a end_iterator std::vector - metodi v.begin() (iteratore) : ritorna un iteratore che punta al primo elemento del vettore v.end() (iteratore) : ritorna un iteratore che punta all elemento successivo all ultimo v.size() (int) : ritorna il numero di elementi del vettore (è uguale a v.end() - v.begin()) v.capacity() (int) : ritorna il numero di elementi inseribili senza necessità di riallocare la memoria a == b (bool) : ritorna true se a e b hanno la stessa dimensione e ogni elemento di a è equivalente (==) al corrispondente elemento di b
10 std::vector - metodi v.push_back(t) (void) : inserisce un elemento t alla fine del vettore v.pop_back() (void) : elimina l ultimo elemento inserito nel vettore v.front() (T &) : ritorna il primo elemento v.back() (T &) : ritorna l ultimo elemento v.[i] (T &) : accede all elemento i v.at(i) (T &) : accede all elemento i (e contolla che i non superi i limiti degli indici dell array - bound checking) Array dinamico // definiamo il puntatore all array double ** matrix = NULL; // Allochiamo memoria per le righe matrix = new double *[ROWS]; // e per le colonne for (int i=0; i< ROWS; i++) matrix[i] = new double[cols]; // Una volta terminato, liberiamo la memoria for (int i=0; i< ROWS; i++) delete [] matrix[i]; delete [] matrix;
11 Array dinamico generico con i template template <type T> T ** creaarray(int righe, int colonne) T ** matrix; matrix = new T *[righe]; for (int i=0; i< righe; i++) matrix[i] = new T[colonne]; return matrix; template <type T> void freearray(t ** matrix) delete [] * matrix; delete [] matrix; double ** A = creaarray<double>(4,4); A[0][0] = ; A[1][1] = /2.0; cout << A[0][0] << A[1][1] << endl; freearray<double>(a);
Esercizio 2: Algebra dei Puntatori e Puntatori a Puntatori
Esercizio 2: Algebra dei Puntatori e Puntatori a Puntatori Salvatore Mandrà 7 Ottobre 2008 1 Esercizio L esercizio prevede l implementazione di funzioni per il prodotto di una matrice per un vettore, attraverso
Il paradigma OO e le Classi
Oggetti e Classi (CAP 10) Alberto Garfagnini Università degli studi di Padova 1 Dicembre 2009 Il paradigma OO e le Classi La programmazione ad Oggetti () è una filosofia di programmazione che si basa sui
Grammatica di base: Pointers
Grammatica di base: Pointers Esistono I puntatori a funzioni. Bisogna esplicitare esattamente il tipo di ritorno e il tipo di argomento. Per evitare ambiguità con il prefisso * nel declarator, il nome
Implementazione dell albero binario in linguaggio C++
Implementazione dell albero binario in linguaggio C++ Costruire il programma per gestire le operazioni su un albero binario. Ogni nodo dell albero contiene un codice e una descrizione; il programma deve
Laboratorio di Informatica
Liste semplici (semplicemente linkate) Una lista semplice e costituita da nodi Laboratorio di Informatica 7. Strutture complesse di dati in C++ Ogni nodo e una struttura che contiene : Dati Un riferimento
Il linguaggio C. Puntatori e dintorni
Il linguaggio C Puntatori e dintorni 1 Puntatori : idea di base In C è possibile conoscere e denotare l indirizzo della cella di memoria in cui è memorizzata una variabile (il puntatore) es : int a = 50;
Informatica 1 Tipi e dichiarazioni in C++ C++ - Tipi e dichiarazioni 1
Informatica 1 Tipi e dichiarazioni in C++ C++ - Tipi e dichiarazioni 1 Cosa è il C++ E un linguaggio di programmazione derivato dal C Può essere usato per modificare il SO Unix e i suoi derivati (Linux)
L2 Elaborazione di immagini in C/C++
L2 Elaborazione di immagini in C/C++ Corso di Visione Artificiale Ing. Luca Mazzei AA 2009/2010 Visione Artificiale 2 Formato immagini Utilizziamo il formato PGM PPM P4 = PBM P5 = PGM P6 = PPM P5 320 240
Breve Manuale di Riferimento sulla Sintassi Linguaggi C++ e FORTRAN
Breve Manuale di Riferimento sulla Sintassi Linguaggi e versione aggiornata al 05/02/2004 Sommario Elementi di Base... 2 Dati, Tipi e Dichiarazioni... 2 Tipi di Dato di Base... 2 Tipi di Dato Strutturati...
Ricerca sequenziale di un elemento in un vettore
Ricerca sequenziale di un elemento in un vettore La ricerca sequenziale o lineare è utilizzata per ricercare i dati in un vettore NON ordinato. L algoritmo di ricerca sequenziale utilizza quan non ha alcuna
C: panoramica. Violetta Lonati
C: panoramica Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica AA 2009/2010 Violetta Lonati
La programmazione ad oggetti (OOP)
Oggetti e Classi (CAP 10) Alberto Garfagnini, Marco Mazzocco Università degli studi di Padova 30 Novembre 2011 La programmazione ad oggetti (OOP) È un approccio concettuale alla programmazione (indipendente
LE STRUTTURE DATI DINAMICHE: GLI ALBERI. Cosimo Laneve
LE STRUTTURE DATI DINAMICHE: GLI ALBERI Cosimo Laneve 1 argomenti 1. definizione di alberi e nozioni relative 2. implementazione degli alberi, creazione, visita 3. algoritmo di visita iterativa e sua implementazione
18 - Vettori. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo
18 - Vettori Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://pages.di.unipi.it/milazzo milazzo di.unipi.it Corso di
Introduzione al linguaggio C Puntatori
Introduzione al linguaggio C Puntatori Violetta Lonati Università degli studi di Milano Dipartimento di Informatica Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica 19 ottobre 2016
Gestione di files Motivazioni
Gestione di files Motivazioni Un programma in esecuzione legge (sequenzialmente) una sequenza di caratteri prodotti "al volo" dall'utente (tramite tastiera) il programma in esecuzione scrive (sequenzialmente)
La struttura dati CODA
Programmazione M-Z Ingegneria e Scienze Informatiche - Cesena A.A. 2016-2017 La struttura dati CODA Pietro Di Lena - [email protected] Introduzione Una coda (o queue) è una struttura dati astratta
Ricerca binaria (o dicotomica) di un elemento in un vettore
Ricerca binaria (o dicotomica) di un elemento in un La ricerca binaria o dicotomica è utilizzata per ricercare i dati in un ORDNATO. L algoritmo di ricerca binaria, dopo ogni confronto, scarta metà degli
Funzioni, Stack e Visibilità delle Variabili in C
Funzioni, Stack e Visibilità delle Variabili in C Programmazione I e Laboratorio Corso di Laurea in Informatica A.A. 2016/2017 Calendario delle lezioni Lez. 1 Lez. 2 Lez. 3 Lez. 4 Lez. 5 Lez. 6 Lez. 7
Indice. La dichiarazione using. Il namespace std della Libreria Standard del C++ std::cin. Le Stringhe in C++ (CAP 3, parte I)
Le Stringhe in C++ (CAP 3, parte I) Alberto Garfagnini e Marco Mazzocco Università degli studi di Padova A.A. 2014/2015 Indice Dichiarazioni using per il namespace Lo specificatore di tipo decltype Il
Esercizi C su array e matrici
Politecnico di Milano Esercizi C su array e matrici Massimo, media e varianza,, ordinamento, ricerca e merge, matrice simmetrica, puntatori Array Array o vettore Composto da una serie di celle int vett[4]
Strutture dati e loro organizzazione. Gabriella Trucco
Strutture dati e loro organizzazione Gabriella Trucco Introduzione I linguaggi di programmazione di alto livello consentono di far riferimento a posizioni nella memoria principale tramite nomi descrittivi
La scrittura di un programma Modellizzazione del programma Scrittura del codice Esercizi. Sperimentazioni I. Alberto Garfagnini, Marco Mazzocco
Sperimentazioni I Alberto Garfagnini, Marco Mazzocco Università degli studi di Padova 10 Novembre 2011 La scrittura di un programma Modellizzazione programma Flowcharts Pseudocode Scrittura del codice
Quicksort e qsort() Alessio Orlandi. 28 marzo 2010
Quicksort e qsort() Alessio Orlandi 28 marzo 2010 Intro Quicksort è l algoritmo di ordinamento più implementato, insieme con Mergesort. Tutte le librerie standard UNIX ne prevedono una implementazione.
Laboratorio di Algoritmi e Strutture Dati
Realizzazione di Liste Laboratorio di Algoritmi e Strutture Dati Domenico Redavid [email protected] Materiale di base gentilmente concesso dal dott. Nicola Di Mauro Ricercatore presso l'univ. di Bari
La scrittura di un programma Modellizzazione del programma Scrittura del codice Esercizi. Sperimentazioni I. Alberto Garfagnini, Marco Mazzocco
Sperimentazioni I Alberto Garfagnini, Marco Mazzocco Università degli studi di Padova 30 Ottobre 2013 La scrittura di un programma Modellizzazione programma Flowcharts Pseudocode Scrittura del codice Esercizi
STRUTTURE DI CONTROLLO DEL C++
STRUTTURE DI CONTROLLO DEL C++ Le istruzioni if e else Le istruzioni condizionali ci consentono di far eseguire in modo selettivo una singola riga di codice o una serie di righe di codice (che viene detto
Dati aggregati. Violetta Lonati
Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica - in breve: Definizione di tipi Array Stringhe Strutture
I/O FILE. Sommario I/O FILE. I/O FILE LETTURA DA FILE DI TESTO oggetto di tipo ifstream. I/O FILE: lettura e scrittura su file di testo
Sommario I/O FILE: lettura e scrittura su file di testo Funzioni: Overloading Argomenti di default I/O FILE Per eseguire operazioni di I/O su file, si deve includere nel programma l header Tale
Gestione dinamica della memoria
Programmazione M-Z Ingegneria e Scienze Informatiche - Cesena A.A. 2016-2017 Gestione dinamica della memoria Pietro Di Lena - [email protected] A pessimistic programmer sees the array as half empty.
Guida introduttiva al PHP
Fabio Castellini 26/01/2016 Guida introduttiva al PHP Cos'è il PHP? Il PHP è un linguaggio di scripting interpretato, simile al JavaScript, per intenderci, originariamente concepito per la programmazione
Programmazione I - Laboratorio
Programmazione I - Laboratorio Esercitazione 3 - Array Gianluca Mezzetti 1 Paolo Milazzo 2 1. Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ mezzetti mezzetti di.unipi.it 2. Dipartimento
Algoritmi di Ricerca. Esempi di programmi Java
Fondamenti di Informatica Algoritmi di Ricerca Esempi di programmi Java Fondamenti di Informatica - D. Talia - UNICAL 1 Ricerca in una sequenza di elementi Data una sequenza di elementi, occorre verificare
ESERCIZI DI PROGRAMMAZIONE C/C++ per le classi seconde
ESERCIZI DI PROGRAMMAZIONE C/C++ per le classi seconde vers.0 in lavorazione Docente SAFFI FABIO Contenuti Struttura del file sorgente...2 Organizzazione della directory di lavoro...2 Esercizi sulle funzione
Esercitazione 11. Liste semplici
Esercitazione 11 Liste semplici Liste semplici (o lineari) Una lista semplice (o lineare) è una successione di elementi omogenei che occupano in memoria una posizione qualsiasi. Ciascun elemento contiene
Sommario. Introduzione... xv. Giorno 1 Elementi base del linguaggio C
Sommario Introduzione... xv Organizzazione del volume... xv Argomenti...xvi Domande...xvi Verifiche...xvi Domande e risposte...xvi Esercizi...xvi Non è richiesta alcuna precedente esperienza di programmazione...
Laboratorio di Programmazione e Calcolo
UNIVERSITA DEGLI STUDI ROMA TRE DIPARTIMENTO DI FISICA E. AMALDI Laboratorio di Programmazione e Calcolo 6 crediti a cura di Severino Bussino Anno Accademico 2016-17 0) Struttura del Corso 1) Trattamento
Array di array. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 03. A. Miola Febbraio 2008
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa Array di array A. Miola Febbraio 8 http://www.dia.uniroma.it/~java/fondinf/ Array di array Contenuti Array bidimensionali creazione
Università degli Studi di Cassino Corso di Fondamenti di Informatica Tipi strutturati: Stringhe. Anno Accademico 2010/2011 Francesco Tortorella
Corso di Informatica Tipi strutturati: Stringhe Anno Accademico 2010/2011 Francesco Tortorella Stringhe di caratteri La stringa è il tipo strutturato con cui vengono rappresentati gruppi di caratteri quali
Corso di Programmazione ad Oggetti
Corso di Programmazione ad Oggetti Costruttori di copia, funzioni di accesso e variabili static aa 2008/2009 Claudio De Stefano Claudio De Stefano - Corso di Programmazione ad Oggetti - aa 2008/2009 1
Programmazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++ Tipi Strutturati Parte 1 Introduzione G. Mecca M. Samela Università della Basilicata Tipi Strutturati: Introduzione >> Sommario Sommario Panoramica Alcuni Esempi
Algoritmi di Ricerca. Esempi di programmi Java
Fondamenti di Informatica Algoritmi di Ricerca Esempi di programmi Java Fondamenti di Informatica - D. Talia - UNICAL 1 Ricerca in una sequenza di elementi Data una sequenza di elementi, occorre verificare
Algoritmi, Strutture Dati e Programmi. UD 2.b: Programmazione in Pascal
Algoritmi, Strutture Dati e Programmi : Programmazione in Pascal Prof. Alberto Postiglione AA 2007-2008 Università degli Studi di Salerno Il Linguaggio di Programmazione Pascal Esistono molti linguaggi
Unità Didattica 4 Linguaggio C. Vettori. Puntatori. Funzioni: passaggio di parametri per indirizzo.
Unità Didattica 4 Linguaggio C Vettori. Puntatori. Funzioni: passaggio di parametri per indirizzo. 1 Vettori Struttura astratta: Insieme di elementi dello stesso tipo, ciascuno individuato da un indice;
Esercizio. Vogliamo scrivere delle funzioni che ci permettano di estrarre delle informazioni statistiche da un vettore (array) di dati:
Esercizio Vogliamo scrivere delle funzioni che ci permettano di estrarre delle informazioni statistiche da un vettore (array) di dati: Media e deviazione standard Mediana Vogliamo poi provare l utilizzo
Le basi del linguaggio Java
Le basi del linguaggio Java Compilazione e interpretazione Quando si compila il codice sorgente scritto in Java, il compilatore genera il codice compilato, chiamato bytecode. È un codice generato per una
14 - Metodi e Costruttori
14 - Metodi e Costruttori Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it
INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica
Fondamenti di Informatica INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica - Programma Un programma è una formulazione
Indice. Introduzione PARTE PRIMA LE BASI DEL C++: IL LINGUAGGIO C 1
Indice Introduzione XV PARTE PRIMA LE BASI DEL C++: IL LINGUAGGIO C 1 Capitolo 1 Una panoramica sul linguaggio C 3 1.1 Le origini e la storia del linguaggio C 3 1.2 Il C è un linguaggio di medio livello
Laboratorio di programmazione
Laboratorio di programmazione Lezione II Tatiana Zolo [email protected] 1 IL PROGRAMMA C++ Istruzioni (espressioni terminate da ; ) istruzioni di dichiarazione (es. int x = 0;); istruzioni di assegnamento
Gli Array. Dichiarazione di un array
Gli Array Un array rappresenta una variabile indicizzata (ovvero contenente un indice) che viene utilizzata per contenere più elementi dello stesso tipo. Ogni array ha un nome al quale viene associato
Fondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012
Fondamenti di Informatica - 1 Prof. B.Buttarazzi A.A. 2011/2012 Sommario Operatore? Tipo di dato: struct La ricorsione Funzioni ricorsive Esercizi proposti 26/04/2012 2 Operatore? L'operatore? può essere
Laboratorio di Algoritmi e Strutture Dati. Code con Priorità
Laboratorio di Algoritmi e Strutture Dati Code con Priorità Teresa M.A. Basile [email protected] Dipartimento di Informatica Università degli Studi di Bari Aldo Moro Materiale di base gentilmente concesso
19 - Eccezioni. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo
19 - Eccezioni Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso
Indice. Prefazione. 3 Oggetti e Java 53
Prefazione xv 1 Architettura dei calcolatori 1 1.1 Calcolatori e applicazioni 1 1.1.1 Alcuni esempi di applicazioni 3 1.1.2 Applicazioni e interfacce 4 1.2 Architettura dei calcolatori 7 1.2.1 Hardware
Strutture Dinamiche. Fondamenti di Informatica
Strutture Dinamiche Fondamenti di Informatica 1 Indice Allocazione e de-allocazione di memoria Liste e loro gestione Companies, srl 2 Allocazione e cancellazione di memoria malloc (sizeof (TipoDato));
