C# Elenco collegato

C# Elenco collegato

In C#, Linkedlist è uno in cui gli elementi sono archiviati in posizioni non contigue. È una struttura di dati lineare. Gli elementi di un elenco collegato comunicano tra loro tramite puntatori. In parole semplici, è costituito da nodi, ogni nodo comprende un campo di dati e un collegamento al nodo successivo nell'elenco. Nell'elenco doppiamente_linked, ogni nodo nell'elenco indica il nodo seguente e all'indietro al nodo precedente. Consente inoltre un rapido inserimento e rimozione degli articoli. È definito nel sistema.Collezioni.Spazio dei nomi generici.

Come creare una lista collegata in C#

Per la creazione di LinkedList in C#, abbiamo tre costruttori.

Lista collegata (): Per creare un'istanza vuota di classe LinkedList, utilizziamo il costruttore "LinkedList ()".

LinkedList (Ienumerable): Per la creazione di un'istanza della classe Linkedlist contenente elementi che vengono copiati dall'Ienumerable, usiamo il costruttore "Linkedlist (Ienumerable)". Ha abbastanza spazio per contenere il numero di oggetti copiati.

LinkedList (serializzazioneInfo, StreamingContext): Viene utilizzato per creare un'istanza che viene serializzata usando il parametro SeriationInfo e StreamingContext.

Esempio 1

Scriviamo il codice che viene fornito in questo esempio e salviamo questo file con qualsiasi nome. Useremo l'estensione ".CS ”per salvare questo file.

Nel codice sopra, utilizziamo la parola chiave "utilizzando" nella prima riga per includere gli spazi dei nomi. Ora abbiamo il "utilizzo del sistema.Collezioni.Spazio dei nomi generico ". Successivamente, abbiamo una classe; "Elenco" è il nome della classe. Dopodiché, esiste un metodo "main ()". Il metodo principale descrive ciò che fa la classe quando viene eseguita e crea oggetti e variabili aggiuntivi. È il punto di partenza del programma e funziona senza nemmeno creare un oggetto di classe. In Curly Braces, abbiamo "LinkedList" che viene utilizzato per creare una lista Linked di String da tipo di dati.

Dopo questo, usiamo "my_list.AddLast () "per aggiungere nodi a LinkedList. Il nuovo nodo aggiungerà all'ultimo LinkList utilizzando il metodo "AddLast". Il metodo “my_list.AddLast ("Harry") "aggiungerà il nome" Harry "a LinkedList. Usando questo metodo, aggiungiamo "Peter", "Leo", "George", "Ronan", "Alice" e "Danil" alla Linkedlist. Dopo questo, abbiamo la "console.Parola chiave WriteLine "che viene utilizzata per l'output. Qualunque cosa scritta tra parentesi verrà stampato sullo schermo.

Ora utilizziamo il ciclo "foreach" per accedere agli elementi di LinkedList. Usando "foreach (string Str in my_list)", accederemo a tutte le stringhe presenti in "My_list" LinkedList. Dopo questo, usiamo "Console.WriteLine (STR) ”che mostra tutte le stringhe in questo programma. Ora chiuderemo tutte le parentesi graffe.

Compilare un programma C# in Ubuntu 20.04

Per compilare il programma sopra, useremo il seguente comando.

Qui in questo codice, “List1.CS "è il nome del file che vogliamo compilare e" MCS "è il compilatore mono di C#. Digita questo comando e premi Invio. IL ".Il file exe "verrà generato per noi.

Esecuzione del programma C# in Ubuntu 20.04

Digita il comando indicato di seguito per l'esecuzione di questo programma C#, che è compilato nel passaggio sopra.

Il comando "mono" esegue un programma mono che viene compilato. Il "Mono List1.exe "può essere utilizzato per eseguire" List1.Programma Exe ". Dopo l'esecuzione, il seguente elenco viene visualizzato sullo schermo come mostrato di seguito.

Esempio 2: per controllare il valore

Qui in questo codice, abbiamo cercato se il valore fornito è in Linkedlist o no. Se il valore o la stringa è presente in LinkedList, allora restituirà vero, il che significa che la stringa o il valore è presente in esso. Il seguente codice viene utilizzato per questo.

In questo codice, "Utilizzo del sistema" viene utilizzato per aggiungere spazi dei nomi. Dopo questo, abbiamo “Using System.Collezioni "che significa che utilizziamo le classi di raccolta. Queste classi sono usate per molti scopi. Creeranno raccolte di oggetti. Quindi, abbiamo “Using System.Collezioni.Generico "che viene utilizzato per lo spazio dei nomi nel programma. Quindi abbiamo una classe chiamata "Chklist". Dopo la lezione, abbiamo messo le parentesi graffe e all'interno delle parentesi graffe definiamo, la funzione "main ()".

All'interno del "main ()" per creare una lista collegata abbiamo una "classe Linkedlist" e la stringa viene utilizzata per un tipo di dati di stringa che viene utilizzato per l'input di stringa. Ora per l'aggiunta di nodi usiamo "my_list.AddLast () ". Possiamo aggiungere "computer" in LinkedList quando usiamo my_list.AddLast ("Computer"). Utilizzando la stessa riga, aggiungiamo "laptop", "mobile" e "fotocamera" a LinkedList. Abbiamo discusso in dettaglio tutti questi elementi nell'esempio sopra.

Dopo questo, scriviamo "Console.WriteLine (my_list.Contiene ("laptop")) "Quando questa riga viene eseguita controllerà se questa lista Linked contiene o meno" laptop ". Restituirà "vero" se la lista Linked contiene "laptop".

Per la compilazione e l'esecuzione di questo programma sopra, scriviamo i comandi indicati di seguito sul terminale.

Qui in questo output, vediamo che restituisce il vero risultato, il che significa che la lista Linked contiene "laptop".

Esempio 3: per la rimozione del nodo

Qui spiegheremo un altro esempio in cui eliminiamo o rimuoviamo il primo valore dalla lista Linked e otterremo il conteggio dei valori.

In questo codice, utilizziamo la parola chiave "usando" che abbiamo spiegato nel primo esempio. Quindi, stiamo usando il "utilizzo del sistema.Collezioni.Spazio dei nomi generico "di cui abbiamo discusso in dettaglio nel nostro esempio precedente. Dopodiché, abbiamo una classe chiamata "Rimuovi". Quindi, si forma la funzione "main ()". La "string [] args" indica gli argomenti di questa funzione. Dopo "Main ()", generiamo una lista Linked di un numero intero usando "Linkedlist". Quindi, aggiungiamo nodi diversi con l'aiuto di "my_list.AddLast () ".

Quando scriviamo "my_list.AddLast (20) ”, aggiungerà un nodo 20 in LinkedList. Ora aggiungiamo "10,20,30,40" utilizzando lo stesso metodo. Per ottenere l'output del conteggio dei nodi, usiamo "Console.WriteLine "e conta i nodi usando" my_list.Contare "e stamparrà il conteggio dei nodi prima di rimuovere qualsiasi nodo. Quindi utilizziamo il ciclo "foreach" che visualizzerà i nodi su LinkedList.

In "Foreach (int i in my_list)", "int" rappresenta i valori interi in "my_list". In Curly Braces, stamperemo i valori di "I" usando "Console.WriteLine (i) ". Ora rimuoviamo il primo nodo usando "my_list.Rimuovi (my_list.Prima) "e poi usa" my_list.Conta "per ottenere il conteggio dei nodi nel nostro programma e visualizzarlo con l'aiuto di" Console.Linea di scrittura". Dopo questo, utilizziamo il ciclo "foreach" come discusso sopra per la stampa di tutti i nodi dopo aver rimosso il primo nodo. Dopo aver completato il codice sopra, salva questo file.

Ora otterremo l'output scrivendo il comando indicato di seguito nell'immagine. Innanzitutto, compiliamo il programma e poi lo eseguiamo.

In questo output, vediamo che stampa il conteggio dei nodi e quindi visualizza tutti i nodi in un elenco. Successivamente, rimuove il primo nodo e stampa il conteggio dei nodi rimanenti, quindi visualizza i nodi rimanenti.

Conclusione

In questo articolo, abbiamo appreso che un elenco collegato è un gruppo di nodi e ogni nodo contiene un elemento di dati e un puntatore in anticipo che indica l'indirizzo della memoria del nodo imminente. Perché non possiamo ottenere gli elementi casualmente mentre arriviamo negli array, quindi passarci attraverso è raffinato. In confronto agli array, le azioni di delezione dell'inserzione sono economiche. Inoltre, abbiamo studiato molto su LinkedList utilizzando diversi esempi che sono molto utili per gli utenti in futuro.