Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Biblioteca STL
Standard Template Library
Tema 3. Contenedores secuenciales
# include <iostream>
# include <vector>
using namespace std;
int main() {
vector<int> venteros(4);
int dato;
int contador = 0;
cout << "los datos que introduzca se añaden al final del vector\n";
Contenedores estándar – Vector – p2
do {
cout << " introduzca dato -1 fin ";
cin >> dato;
if (dato != -1) {
if (contador < venteros.size())
venteros[contador] = dato; // añade dato al final
else {
if (venteros.size() > = venteros.capacity())
// Se duplica el vector
venteros.reserve(2*venteros.capacity());
venteros.push_back(dato); // añade dato al final
}
contador++;
}
} while (dato != -1);
Contenedores estándar – Vector – p3
Funciones miembro
Contenedores estándar - List
Funciones miembro
Contenedores estándar - List
// visualización de la lista
#include <cstdlib>
for (i = l.begin(); i != l.end(); i++)
#include <iostream>
cout << *i << " ";
#include <list> // clase lista
cout << endl;
using namespace std;
// nueva visualización de la lista
int main(int argc, char *argv[]) {
cout << "Valores de la lista:" << endl;
list <int> l; // lista de enteros
while (l.size() > 0)
list<int>::const_iterator i; // iterador
// mientras haya elementos en la lista
int valor;
{
// Añadir valores al final de la lista
valor = l.front();
l.push_back(2); l.push_back(4);
// Obtener el valor del inicio de la lista
l.push_back(5); l.push_back(1);
cout << valor << " ";
l.push_back(20);
l.pop_front(); // Eliminar el elemento
for (int j = 10; j < 15; j++)
}
l.insert(l.end(), j); // añade j al final de la lista.
return 0;
cout << " datos almacenados en la lista " << endl;
}
Contenedores estándar - List
#include <iostream>
#include <list> // Mostrar el contenido de la lista
using namespace std; // Se usa un iterador
int main (int argc, char * argv[]) { list<int>::iterator it = lista.begin();
// Instanciación de lista de enteros while (it != lista.end()) {
list<int> lista; cout << *it << " ";
int n; // Se muestra el contenido del
cout<<"Dar numero (0 terminar): "; // elemento referenciado
cin >> n; it++; // Avanzar el iterador
while (n > 0) { }
lista.push_back(n); // Agregar al final return 0;
cout<<"Dar numero (0 terminar): "; }
cin >> n;
}
Contenedores estándar - deque
Los deques o colas de doble terminación ("Double-ended queue") son un tipo
de estructura de datos que comparte las características de las colas
("Queues") y las pilas ("Stacks").
Como en las colas , los elementos pueden ser empujados por un extremo al
interior del contenedor, y el primer elemento introducido puede ser extraído
por el extremo opuesto.
DA:
DB:
Contenedores estándar - <deque>
Algunas funciones: Asumir como ejemplo dos deque DA y DB
DA:
DA:
DA:
Eliminación
- Salida de
elemento
Inserción-
Entrada de
elemento
Este tipo especial de colas tienen las mismas operaciones que las colas , pero
con la condición de que los elementos se atienden en orden de prioridad.