Lista vinculada de C#

Lista vinculada de C#

En C#, LinkedList es uno en el que los elementos se almacenan en ubicaciones no contiguas. Es una estructura de datos lineal. Los elementos de una lista vinculada se comunican entre sí a través de Pointers. En palabras simples, consta de nodos, cada nodo comprende un campo de datos y un enlace al siguiente nodo en la lista. En la lista doubly_linked, cada nodo en la lista apunta al siguiente nodo y hacia atrás al nodo anterior. También permite una inserción rápida y eliminación de elementos. Se define en el sistema.Colecciones.Espacio de nombres genérico.

Cómo crear una lista de Linked en C#

Para crear LinkedList en C#, tenemos tres constructores.

Lista enlazada (): Para crear una instancia vacía de la clase LinkedList, usamos el constructor "LinkedList ()".

LinkedList (IEnumerable): Para crear una instancia de la clase LinkedList que contiene elementos que se copian del constructor "LinkedList (IEnumerable)". Tiene suficiente espacio para contener la cantidad de objetos que se están copiando.

LinkedList (SerializationInfo, StreamingContext): Se utiliza para crear una instancia que se sea serializada utilizando el SerialiationInfo y el parámetro StreamingContext.

Ejemplo 1

Escribimos el código que se da en este ejemplo y guardamos este archivo con cualquier nombre. Usaremos la extensión ".CS "para guardar este archivo.

En el código anterior, usamos la palabra clave "usando" en la primera línea para incluir espacios de nombres. Ahora tenemos el "Uso del sistema.Colecciones.Espacio de nombres genérico ”. Después de eso, tenemos una clase; "Lista" es el nombre de la clase. Después de eso, hay un método "main ()". El método principal describe lo que hace la clase cuando se ejecuta y crea objetos y variables adicionales. Es el punto de partida del programa, y ​​se ejecuta sin siquiera crear un objeto de clase. En los aparatos ortopédicos rizados, tenemos "LinkedList" que se utiliza para crear una lista de enlaces de la cadena del tipo de datos.

Después de esto, usamos "my_list.Addlast () "para agregar nodos a LinkedList. El nuevo nodo se agregará al último de LinkList utilizando el método "Addlast". El método "my_list.Addlast ("Harry") "agregará el nombre" Harry "a Linkedlist. Al usar este método, agregamos "Peter", "Leo", "George", "Ronan", "Alice" y "Danil" a Linkedlist. Después de esto, tenemos la "consola.Palabra clave de WriteLine ”que se utiliza para la salida. Cualquier cosa escrita entre paréntesis se imprimirá en la pantalla.

Ahora, usamos el bucle "foreach" para acceder a los elementos de LinkedList. Al usar "foreach (string str en my_list)", accederemos a todas las cadenas que están presentes en LinkedList "my_list". Después de esto, usamos "Consola.WriteLine (STR) "que muestra todas las cuerdas en este programa. Ahora, cerraremos todos los frenos rizados.

Compilar un programa C# en Ubuntu 20.04

Para compilar el programa anterior, utilizaremos el siguiente comando.

Aquí en este código, "List1.CS "es el nombre del archivo que queremos compilar y" MCS "es el compilador mono de C#. Escriba este comando y presione Entrar. El ".El archivo exe "se generará para nosotros.

Ejecución del programa C# en Ubuntu 20.04

Escriba el comando que se proporciona a continuación para la ejecución de este programa C#, que se compila en el paso anterior.

El comando "mono" ejecuta un programa mono que se compila. La "lista mono1.Exe "se puede usar para ejecutar la" Lista1.programa EXE ”. Después de la ejecución, la siguiente lista se muestra en la pantalla como se muestra a continuación.

Ejemplo 2: para verificar el valor

Aquí en este código, hemos buscado si el valor que se da está en LinkedList o no. Si el valor o la cadena está presente en LinkedList, entonces devolverá verdadero, lo que significa que la cadena o valor está presente en él. El siguiente código se usa para esto.

En este código, "Usar el sistema" se usa para agregar espacios de nombres. Después de esto, tenemos "Usar el sistema.Colecciones ”, lo que significa que usamos clases de recolección. Estas clases se utilizan para muchos propósitos. Crearán colecciones de objetos. Entonces, tenemos "usando el sistema.Colecciones.Genérico "que se utiliza para el espacio de nombres en el programa. Luego tenemos una clase llamada "Chklist". Después de la clase, colocamos aparatos ortopédicos rizados, y dentro de los aparatos rizados que definimos, la función "Main ()".

Dentro del "main ()" para crear una lista de enlaces, tenemos una "clase LinkedList" y la cadena se usa para un tipo de datos de cadena que se utiliza para la entrada de cadenas. Ahora para agregar nodos usamos "my_list.Addlast () ". Podemos agregar "computadora" en LinkedList cuando usamos my_list.Addlast ("computadora"). Al usar la misma línea, agregamos "laptop", "móvil" y "cámara" a LinkedList. Discutimos todos estos elementos en el ejemplo anterior en detalle.

Después de esto, escribimos "Consola.WriteLine (my_list.Contiene ("laptop")) "Cuando se ejecuta esta línea, verificará si esta lista de enlaces contiene" laptop "o no. Devolverá "verdadero" si LinkedList contiene "laptop".

Para la compilación y ejecución de este programa anterior, escribimos los comandos que se dan a continuación en el terminal.

Aquí en esta salida, vemos que devuelve el resultado verdadero, lo que significa que LinkedList contiene "laptop".

Ejemplo 3: para eliminar el nodo

Aquí, explicaremos otro ejemplo en el que eliminemos o eliminemos el primer valor de LinkedList y obtendremos el recuento de los valores.

En este código, usamos la palabra clave "usando" que explicamos en el primer ejemplo. Luego, estamos usando el "Uso del sistema.Colecciones.Espacio de nombres genérico "que hemos discutido en detalle en nuestro ejemplo anterior. Después de eso, tenemos una clase llamada "Eliminar". Luego, se forma la función "main ()". La "cadena [] args" significa los argumentos de esta función. Después de "main ()", generamos una lista de enlaces de un entero usando "LinkedList". Entonces, agregamos diferentes nodos con la ayuda de "my_list.Addlast () ".

Cuando escribimos "my_list.Addlast (20) ”, agregará un nodo 20 en LinkedList. Ahora, agregamos "10,20,30,40" utilizando el mismo método. Para obtener la salida del recuento de nodos, usamos "consola.Escritura "y cuente los nodos usando" my_list.Contar ”e imprimirá el recuento de nodos antes de eliminar cualquier nodo. Luego usamos el bucle "foreach" que mostrará los nodos en LinkedList.

En "foreach (int i en my_list)", "int" representa los valores enteros en "my_list". En los aparatos ortopédicos rizados, imprimiremos los valores de "I" usando "Consola.Escritura (i) ". Ahora, eliminamos el primer nodo usando "my_list.Eliminar (my_list.Primero) "y luego usa" my_list.Contar "para obtener el recuento de nodos en nuestro programa y mostrarlo con la ayuda de" consola.Línea de escritura". Después de esto, usamos el bucle "foreach" como se discutió anteriormente para imprimir todos los nodos después de eliminar el primer nodo. Después de completar el código anterior, guarde este archivo.

Ahora, obtendremos el resultado escribiendo el comando que se da a continuación en la imagen. Primero, compilamos el programa y luego lo ejecutamos.

En esta salida, vemos que imprime el recuento de los nodos y luego muestra todos los nodos en una lista. Después de eso, elimina el primer nodo e imprime el recuento de los nodos restantes, y luego muestra los nodos restantes.

Conclusión

En este artículo, hemos aprendido que una lista vinculada es un grupo de nodos y cada nodo contiene un elemento de datos y un puntero por delante que apunta a la dirección de la memoria del próximo nodo. Porque no podemos obtener los elementos de manera casual a medida que avanzamos en las matrices, por lo que pasar por él es refinado. En comparación con las matrices, las acciones de inserción-Deletion son baratas. Además, estudiamos mucho sobre LinkedList mediante el uso de diferentes ejemplos que son muy útiles para los usuarios en el futuro.