Universidad de las Fuerzas Armadas ESPE
Departamento de Ciencias de la Computación
Carrera de Ingeniería en Tecnologías de la Información
Modalidad: En Línea
Integrantes:
Maritza Enriquez R.
Asignatura:
Estructura de datos
Docente:
Wellington Valdivieso
Fecha de entrega:
05/06/2025
Periodo académico:
Abril 2025 a Agosto 2025
Sangolquí, Ecuador
1. Introducción
Las estructuras de datos son fundamentales para el desarrollo eficiente de algoritmos y
programas. Una de las estructuras más comunes y versátiles es la lista, que permite
almacenar colecciones ordenadas de elementos. Las listas son esenciales para
organizar datos, realizar búsquedas, inserciones y eliminaciones de forma dinámica.
2. Objetivo
- Comprender qué es una lista como estructura de datos abstracta.
- Diferenciar entre los distintos tipos de listas.
- Identificar casos de uso prácticos.
- Aplicar listas mediante la implementación de un menú en lenguaje C++.
3. Planteamiento del Problema
En diversas aplicaciones, es necesario gestionar conjuntos de elementos que cambian
durante la ejecución del programa. Por ejemplo, un usuario puede querer agregar o
eliminar productos de una lista de compras. Para resolver este problema, se plantea
diseñar un programa en C++ que permita al usuario realizar operaciones básicas sobre
una lista: agregar, eliminar, buscar y mostrar elementos, mediante un menú interactivo.
3. Solución en C++
El siguiente código presenta una solución en C++ usando la biblioteca estándar y el
contenedor vector:
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
void mostrarMenu() {
cout << "\n--- MENU DE LISTAS ---" << endl;
cout << "1. Agregar elemento" << endl;
cout << "2. Eliminar elemento" << endl;
cout << "3. Buscar elemento" << endl;
cout << "4. Mostrar lista" << endl;
cout << "5. Salir" << endl;
cout << "Seleccione una opción: ";
int main() {
vector<string> lista;
int opcion;
string elemento;
do {
mostrarMenu();
cin >> opcion;
cin.ignore();
switch (opcion) {
case 1:
cout << "Ingrese el elemento a agregar: ";
getline(cin, elemento);
lista.push_back(elemento);
cout << "Elemento agregado.\n";
break;
case 2:
cout << "Ingrese el elemento a eliminar: ";
getline(cin, elemento);
auto it = find(lista.begin(), lista.end(), elemento);
if (it != lista.end()) {
lista.erase(it);
cout << "Elemento eliminado.\n";
} else {
cout << "Elemento no encontrado.\n";
break;
case 3:
cout << "Ingrese el elemento a buscar: ";
getline(cin, elemento);
auto it = find(lista.begin(), lista.end(), elemento);
if (it != lista.end()) {
cout << "Elemento encontrado en la posición " << distance(lista.begin(), it) << ".\n";
} else {
cout << "Elemento no está en la lista.\n";
break;
case 4:
cout << "Elementos en la lista:\n";
for (size_t i = 0; i < lista.size(); ++i) {
cout << i << ": " << lista[i] << endl;
break;
case 5:
cout << "Saliendo del programa.\n";
break;
default:
cout << "Opción no válida.\n";
} while (opcion != 5);
return 0;
}
Funcionamiento del programa
4. Conclusión
Las listas son estructuras fundamentales en programación y permiten manejar
conjuntos de datos de manera eficiente y flexible. Este ejercicio ha permitido
implementar un sistema interactivo en C++ que demuestra operaciones básicas con
listas dinámicas. Dominar su uso es esencial para el desarrollo de aplicaciones más
complejas.
5. Bibliografias
https://cplusplus.com/reference/vector/vector/
https://www.youtube.com/watch?v=wWa4SWlxUQM