¿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.
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; }
elementos de miContenedor:
Los elementos de la lista almacenados en el índice 0:
15
5
10
20Los elementos de la lista almacenados en el índice 1:
40
30
35
45Los 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; }
elementos de miContenedor:
Los elementos de la lista almacenados en el índice 0:
GeeksforGeeks
C++
Python
CLos elementos de la lista almacenados en el índice 1:
Nainwal
Java
C#
GFGLos elementos de la lista almacenados en el índice 2:
HTML
Swift
R
CSS