Array de lista en C++ con ejemplos

¿Qué es una array?

Una array en cualquier lenguaje de programación es una estructura de datos que se utiliza para almacenar elementos o elementos de datos de tipos de datos similares en ubicaciones de memoria contiguas y se puede acceder a los elementos aleatoriamente utilizando índices de una array. Las arrays son eficientes cuando queremos almacenar una gran cantidad de elementos que también tienen tipos de datos similares.

¿Qué es una lista?

En C++ , una lista es un contenedor de secuencias que permite la asignación de memoria no contigua. Si comparamos un vector con una lista, entonces una lista tiene un recorrido lento en comparación con un vector, pero una vez que se encuentra una posición, la inserción y la eliminación son rápidas. Generalmente, una lista en C++ es una lista doblemente enlazada .

Funciones utilizadas con List:

  • front() : Devuelve el valor del primer elemento de la lista.
  • back() : Devuelve el valor del último elemento de la lista.
  • push_front(x) : Agrega un nuevo elemento ‘x’ al principio de la lista.
  • push_back(x) : Agrega un nuevo elemento ‘x’ al final de la lista.
  • pop_front() : elimina el primer elemento de la lista y reduce el tamaño de la lista en 1.
  • pop_back() : elimina el último elemento de la lista y reduce el tamaño de la lista en 1.

array de listas

C++ nos permite una facilidad para crear una array de listas. Una array de listas es una array en la que cada elemento es una lista por sí mismo.

Sintaxis:

list<tipoDatos> miContenedor[N];

Aquí,
N: El tamaño de la array de las listas.
dataType: Significa que cada lista puede almacenar elementos de este tipo de datos únicamente.

Array of lists

Ejemplo 1: a continuación se muestra el programa C++ para implementar una array de listas.

C++

// C++ program to demonstrate the
// working of array of lists in C++
#include <bits/stdc++.h>
using namespace std;
  
// Function to print list elements
// specified at the index, "index"
void print(list<int>& mylist,
           int index)
{
    cout << "The list elements stored at the index " << 
             index << ": \n";
  
    // Each element of the list is a pair on 
    // its own
    for (auto element : mylist) 
    {
        // Each element of the list is a pair 
        // on its own
        cout << element << '\n';
    }
    cout << '\n';
}
  
// Function to iterate over all the array
void print(list<int>* myContainer, int n)
{
    cout << "myContainer elements:\n\n";
  
    // Iterating over myContainer elements
    // Each element is a list on its own
    for (int i = 0; i < n; i++) 
    {
        print(myContainer[i], i);
    }
}
  
// Driver code
int main()
{
    // Declaring an array of lists
    // In list each element is of type int
    list<int> myContainer[3];
  
    // listing values to the list stored
    // at the index 0
    // 15 <-> 5 <-> 10 <-> 20
    myContainer[0].push_front(5);
    myContainer[0].push_back(10);
    myContainer[0].push_front(15);
    myContainer[0].push_back(20);
  
    // listing values to the list stored
    // at the index 1
    // 40 <-> 30 <-> 35 <-> 45
    myContainer[1].push_front(30);
    myContainer[1].push_back(35);
    myContainer[1].push_front(40);
    myContainer[1].push_back(45);
  
    // listing values to the list stored
    // at the index 2
    // 60 <-> 50 <-> 55 <-> 65
    myContainer[2].push_front(50);
    myContainer[2].push_back(55);
    myContainer[2].push_front(60);
    myContainer[2].push_back(65);
  
    // Calling print function to iterate
    // over myContainer elements
    print(myContainer, 3);
  
    return 0;
}
Producción

elementos de miContenedor:

Los elementos de la lista almacenados en el índice 0:
15
5
10
20

Los elementos de la lista almacenados en el índice 1:
40
30
35
45

Los elementos de la lista almacenados en el índice 2:
60
50
55
65

Ejemplo 2: a continuación se muestra el programa C++ para implementar una array de listas.

C++

// C++ program to demonstrate the
// working of array of lists in C++
#include <bits/stdc++.h>
using namespace std;
  
// Function to print list elements
// specified at the index, "index"
void print(list<string>& mylist,
           int index)
{
    cout << "The list elements stored at the index " << 
             index << ": \n";
  
    // Each element of the list is a pair 
    // on its own
    for (auto element : mylist) 
    {
        // Each element of the list is a pair 
        // on its own
        cout << element << '\n';
    }
    cout << '\n';
}
  
// Function to iterate over all the array
void print(list<string>* myContainer, int n)
{
    cout << "myContainer elements:\n\n";
  
    // Iterating over myContainer elements
    // Each element is a list on its own
    for (int i = 0; i < n; i++) 
    {
        print(myContainer[i], i);
    }
}
  
// Driver code
int main()
{
    // Declaring an array of lists
    // In list each element is of type string
    list<string> myContainer[3];
  
    // listing values to the list stored
    // at the index 0
    // "GeeksforGeeks" <-> "C++" <-> 
    // "Python" <-> "C"
    myContainer[0].push_front("C++");
    myContainer[0].push_back("Python");
    myContainer[0].push_front("GeeksforGeeks");
    myContainer[0].push_back("C");
  
    // listing values to the list stored
    // at the index 1
    // "Nainwal" <-> "Java" <-> "C#" <-> "GFG"
    myContainer[1].push_front("Java");
    myContainer[1].push_back("C#");
    myContainer[1].push_front("Nainwal");
    myContainer[1].push_back("GFG");
  
    // listing values to the list stored
    // at the index 2
    // "HTML" <-> "Swift" <-> "R" <-> "CSS"
    myContainer[2].push_front("Swift");
    myContainer[2].push_back("R");
    myContainer[2].push_front("HTML");
    myContainer[2].push_back("CSS");
  
    // Calling print function to iterate
    // over myContainer elements
    print(myContainer, 3);
  
    return 0;
}
Producción

elementos de miContenedor:

Los elementos de la lista almacenados en el índice 0:
GeeksforGeeks
C++
Python
C

Los elementos de la lista almacenados en el índice 1:
Nainwal
Java
C#
GFG

Los elementos de la lista almacenados en el índice 2:
HTML
Swift
R
CSS

Publicación traducida automáticamente

Artículo escrito por bhuwanesh y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *