Inserimento elemento in coda array con controllo capacità
Inserimento in Coda di un Array
Cosa fa questo programma?
Questo programma dimostra come inserire un nuovo elemento alla fine (in coda) di un array che contiene già alcuni elementi. È una delle operazioni fondamentali nella gestione degli array dinamici.
Analisi del codice
// INSERIMENTO IN CODA
#include <iostream>
using namespace std;
int main() {
const int CAPACITA = 10;
int a[CAPACITA] = {7, 3, 9, 1, 5};
int n = 5;
int valore = 8; // valore da inserire
Dichiarazione delle variabili
CAPACITA = 10: definisce la dimensione massima dell'array (10 elementi)a[CAPACITA]: crea un array di 10 posizioni, inizializzato con i primi 5 valori {7, 3, 9, 1, 5}n = 5: tiene traccia di quanti elementi sono attualmente utilizzati nell'arrayvalore = 8: il nuovo elemento che vogliamo aggiungere
Visualizzazione dello stato iniziale
cout << "Prima: ";
for (int i = 0; i < n; i++) cout << a[i] << " ";
cout << endl;
Questo ciclo stampa tutti gli elementi attualmente presenti nell'array (i primi 5).
L'operazione di inserimento
if (n < CAPACITA) {
a[n] = valore; // la prima cella libera e' a[n]
n++;
} else {
cout << "Array pieno!" << endl;
}
Questa è la parte più importante:
- Controllo dello spazio: verifica se c'è ancora spazio nell'array (
n < CAPACITA) - Inserimento: se c'è spazio, inserisce il nuovo valore nella posizione
a[n]- Perché
a[n]? Perché se abbiamonelementi, gli indici occupati vanno da 0 a n-1, quindinè il primo indice libero
- Perché
- Aggiornamento del contatore: incrementa
nper riflettere il nuovo numero di elementi - Gestione errore: se l'array è pieno, stampa un messaggio di errore
Visualizzazione del risultato
cout << "Dopo: ";
for (int i = 0; i < n; i++) cout << a[i] << " ";
cout << endl;
Stampa l'array aggiornato con il nuovo elemento.
Esempio di esecuzione
Output del programma:
Prima: 7 3 9 1 5
Dopo: 7 3 9 1 5 8
Concetti chiave
- Inserimento in coda: aggiungere un elemento alla fine è l'operazione più semplice e veloce
- Gestione della dimensione: è fondamentale tenere traccia di quanti elementi sono effettivamente utilizzati
- Controllo dei limiti: sempre verificare che ci sia spazio disponibile prima di inserire
- Complessità: questa operazione ha complessità O(1) - tempo costante
Vantaggi dell'inserimento in coda
- È molto veloce (non richiede spostamenti di elementi)
- È semplice da implementare
- Non modifica la posizione degli elementi esistenti
#include <iostream>
using namespace std;
int main() {
const int CAPACITA = 10;
int a[CAPACITA] = {7, 3, 9, 1, 5};
int n = 5;
int valore = 8; // valore da inserire
cout << "Prima: ";
for (int i = 0; i < n; i++) cout << a[i] << " ";
cout << endl;
if (n < CAPACITA) {
a[n] = valore; // la prima cella libera e' a[n]
n++;
} else {
cout << "Array pieno!" << endl;
}
cout << "Dopo: ";
for (int i = 0; i < n; i++) cout << a[i] << " ";
cout << endl;
return 0;
}