In questo articolo, esploreremo l'importanza di strutture dati , i diversi tipi di strutture dati disponibili in C++ e come usarli efficacemente nei tuoi programmi.
Cos'è la struttura dei dati in C++
IL struttura dati è un concetto essenziale nella programmazione e svolge un ruolo vitale nell'archiviazione e nell'organizzazione dei dati. In C++, una struttura dati può essere definita come un modo per archiviare dati e gestirli in un formato specifico. Ciò consente un accesso e una manipolazione efficienti dei dati, facilitando la scrittura e la manutenzione del codice da parte dei programmatori.
In C++, il strutture dati hanno la seguente sintassi:
struct nome_struttura {
tipo di dati1 nome1 ;
tipo di dati2 nome2 ;
tipo di dati3 nome3 ;
tipo di dati4 nome4 ;
..
..
..
} nome_oggetto ;
Nella sintassi di cui sopra, il parola chiave struct è usato per definire la struttura e nome_struttura è il nome definito dall'utente della struttura e può variare. IL tipo di dati1 è il tipo di dati del membro della struttura e nome1 è il nome del membro della struttura e nome_oggetto è il nome dell'oggetto per il quale è definita la struttura.
Esempio
Nell'esempio seguente, il struttura Info è composto da tre membri: nome età, E cittadinanza.
struct Informazioni
{
char nome [ cinquanta ] ;
int cittadinanza ;
int età ;
}
Eseguiamo questo codice in C++, abbiamo definito tutti questi membri nella struttura person e non abbiamo assegnato alcuno spazio. Nella funzione principale, abbiamo inizializzato questi membri con valori specifici e li abbiamo stampati:
#includeutilizzando lo spazio dei nomi std ;
struct Informazioni
{
nome stringa ;
int età ;
} ;
int principale ( vuoto ) {
struct Informazioni pag ;
P. nome = 'Zinab' ;
P. età = 23 ;
cout << 'Nome persona: ' << P. nome << finel ;
cout << 'Età della persona: ' << P. età << finel ;
ritorno 0 ;
}
Il codice definisce una struttura denominata Informazioni con due attributi: nome ed età. Nella funzione principale, un nuovo Informazioni viene creato l'oggetto e gli vengono assegnati il nome e l'età. Infine, i valori di questi campi vengono stampati sulla console utilizzando cout.
Classificazione della struttura dati in C++
In C++ il struttura dati si divide in due grandi categorie: Strutture dati lineari e non lineari . Le strutture dati sono suddivise in base alle seguenti caratteristiche:
Caratteristica | Spiegazione | Esempio |
Lineare | I dati sono disposti in sequenza lineare | Array |
Non lineare | Gli elementi dei dati non sono nella sequenza lineare | Grafico, albero |
Statico | La posizione, le dimensioni e la memoria sono fisse | Array |
Dinamico | La dimensione cambia a seconda dell'esecuzione del programma | Lista collegata |
Omogeneo | Gli articoli sono dello stesso tipo | Array |
Non omogeneo | Gli articoli possono o meno essere dello stesso tipo | Strutture |
Le categorie di strutture dati in C++ sono:
1: matrici
Gli array sono le strutture dati fondamentali del C++. L'array è il gruppo di elementi con lo stesso tipo di dati. Gli array semplificano l'esecuzione delle operazioni sull'intero set di dati. I valori memorizzati negli array sono noti come elementi.
2: Elenco collegato
Gli elementi dei dati nell'elenco Collegato sono collegati tramite nodi. Ogni nodo ha l'indirizzo e i dati del nodo successivo. Sono i migliori per aggiungere ed eliminare nodi. Gli elenchi collegati hanno due tipi uno è singolo e l'altro è doppiamente collegato. In un elenco concatenato singolarmente, il nodo precedente ha i dati del nodo successivo ma il nodo successivo non è a conoscenza del nodo precedente. Nell'elenco doppiamente collegato, la direzione è avanti e indietro.
3: Pile
Stacks è il tipo di dati astratto che segue il principio LIFO (Last in First Out). Questa regola significa che l'elemento inserito per ultimo verrà cancellato per primo. Sono utilizzati con algoritmi di backtracking ricorsivi.
4: Croce
Anche le code sono di tipo astratto e seguono la regola FIFO (First in and First Out). Questa regola significa che l'elemento inserito per primo verrà eliminato per primo. Sono utili durante la gestione delle interpretazioni di sistema in tempo reale.
5: Alberi
Gli alberi sono un insieme di strutture dati non lineari con più nodi. Permette solo un bordo con due vertici.
6: Grafici
In un grafo, ogni nodo è un vertice e ogni vertice è collegato a un altro vertice tramite un bordo. Le sfere sono i vertici e le frecce sono i bordi, vengono utilizzate per implementare scenari di vita reale o reti neurali. I grafici hanno tre diversi tipi: grafico non orientato, grafico bidirezionale e grafico ponderato.
Operazioni eseguite su strutture dati
Possiamo eseguire le seguenti funzioni su strutture dati in C++:
- Inserimento di nuovi elementi dati nelle strutture dati.
- Rimozione di elementi di dati esistenti dalla struttura dei dati.
- Visualizza tutti gli elementi dati nella struttura dati.
- Cerca l'elemento specifico nella struttura dei dati.
- Disponi tutti gli elementi in ordine crescente o decrescente.
- Combina gli elementi di due strutture dati e crea quella nuova.
Linea di fondo
Le strutture dati in C++ sono il modo di gestire i dati in modo efficiente in modo che sia possibile accedervi. È importante scegliere la struttura dati appropriata per il tuo progetto, se desideri aggiungere i dati in sequenza, scegli gli array. Comprendere il concetto di struttura dei dati ti aiuterà a padroneggiare l'arte della programmazione e della progettazione di algoritmi.