SlideShare una empresa de Scribd logo
1 de 6
Descargar para leer sin conexión
¿Que son las listas en programación?
En programación, una lista es una estructura de datos que permite almacenar una colección
ordenada de elementos. Estos elementos pueden ser de cualquier tipo, como números,
cadenas de texto o incluso otras listas. Las listas son muy utilizadas debido a su flexibilidad y
capacidad para manejar conjuntos de datos dinámicos.
Características
Las principales características de las listas son:
1. Orden: Los elementos de una lista se mantienen en un orden específico, lo que permite
acceder a ellos de manera secuencial.
2. Mutabilidad: En la mayoría de los lenguajes de programación, las listas son estructuras de
datos mutables, lo que significa que se pueden modificar agregando, eliminando o
modificando elementos.
3. Flexibilidad: Las listas pueden contener elementos de diferentes tipos y pueden crecer o
disminuir dinámicamente en tamaño según sea necesario.
4. Indexación: Los elementos de una lista pueden ser accedidos mediante un índice
numérico que indica su posición en la lista.
5. Iteración: Las listas permiten iterar sobre sus elementos de manera eficiente, lo que
facilita el procesamiento de grandes conjuntos de datos.
6. Funciones y métodos: Los lenguajes de programación suelen proporcionar una variedad
de funciones y métodos para manipular listas, como agregar elementos, eliminar
elementos, ordenar la lista, entre otros.
Tipos de listas
En programación, hay varios tipos de listas que se utilizan según las necesidades específicas
del problema a resolver. Algunos de los tipos comunes de listas incluyen:
1. Listas simples: Son listas básicas que contienen elementos individuales. Estas son las
listas más comunes y versátiles en la mayoría de los lenguajes de programación.
2. Listas anidadas: También conocidas como listas dentro de listas, permiten almacenar
listas como elementos individuales dentro de una lista principal. Esto es útil para
representar estructuras de datos más complejas.
3. Listas enlazadas: Son estructuras de datos donde cada elemento de la lista contiene un
puntero (referencia) al siguiente elemento. Esto permite la inserción y eliminación eficiente
de elementos en cualquier posición de la lista.
4. Listas circulares: Son listas enlazadas donde el último elemento apunta al primero,
formando un ciclo. Esto puede ser útil en situaciones donde se necesita un acceso circular a
los elementos de la lista.
5. Listas doblemente enlazadas: En estas listas cada elemento tiene un puntero tanto al
siguiente como al anterior elemento de la lista. Esto facilita la navegación bidireccional a
través de la lista.
6. Listas ordenadas: Son listas donde los elementos están ordenados según un criterio
específico, como numérico o alfabético. Esto facilita la búsqueda y el acceso eficiente a los
elementos.
Usos de las listas
Las listas son una de las estructuras de datos más fundamentales y versátiles en
programación, y se utilizan en una amplia variedad de aplicaciones. Algunos de los usos más
comunes de las listas incluyen:
1. Almacenamiento de datos: Las listas se utilizan para almacenar colecciones de
elementos, como números, cadenas de texto, objetos u otros tipos de datos, de manera
ordenada y accesible.
2. Procesamiento de datos: Las listas permiten realizar operaciones como la búsqueda,
filtrado, ordenamiento y manipulación de datos de manera eficiente.
3. Implementación de estructuras de datos: Las listas se utilizan como componentes
fundamentales en la implementación de otras estructuras de datos más complejas, como
pilas, colas, árboles y grafos.
4. Iteración y recorrido: Las listas ofrecen una forma de iterar sobre una colección de
elementos para realizar operaciones en cada uno.
5. Gestión de memoria dinámica: En lenguajes de programación donde la gestión de
memoria es manual, como C o C++, las listas dinámicas se utilizan para asignar y liberar
memoria de forma dinámica según sea necesario.
6. Representación de datos estructurados: Las listas anidadas se utilizan para representar
estructuras de datos complejas, como matrices multidimensionales, registros y objetos
compuestos.
7. Implementación de algoritmos: Muchos algoritmos y técnicas de programación utilizan
listas para almacenar datos temporales, realizar seguimiento del estado del programa o
representar relaciones entre diferentes elementos.
Ejemplo de lista simple
# Crear una lista simple
mi_lista = [1, 2, 3, 4, 5]
# Acceder a elementos de la lista por índice
primer_elemento = mi_lista[0]
ultimo_elemento = mi_lista[-1]
# Modificar elementos de la lista
mi_lista[2] = 10
# Agregar elementos a la lista
mi_lista.append(6)
# Eliminar elementos de la lista
mi_lista.remove(4)
# Longitud de la lista
longitud_lista = len(mi_lista)
# Iterar sobre los elementos de la lista
for elemento in mi_lista:
print(elemento)
# Comprobar si un elemento está en la lista
if 3 in mi_lista:
print("El elemento 3 está en la lista")
# Imprimir la lista completa
print(mi_lista)
[1, 2, 3, 4, 5]
Ejemplo de lista encadenada
class Nodo:
def _init_ (self, valor):
self.valor = valor
self.siguiente = None # Inicialmente no hay siguiente nodo
class ListaEncadenada:
def _init_(self):
self.cabeza = None # Inicialmente la lista está vacía
def agregar (self, valor):
nuevo_nodo = Nodo(valor)
if self.cabeza is None:
self.cabeza = nuevo_nodo
else:
actual = self.cabeza
while actual.siguiente is not None:
actual = actual.siguiente
actual.siguiente = nuevo_nodo
def imprimir(self):
actual = self.cabeza
while actual is not None:
print(actual.valor, end=" -> ")
actual = actual.siguiente
print("None")
# Ejemplo de uso
lista = ListaEncadenada()
lista.agregar(1)
lista.agregar(2)
lista.agregar(3)
lista.imprimir()
1 -> 2 -> 3 -> 4 -> 5 -> None
Este ejemplo crea una clase Nodo para representar cada elemento de la lista encadenada, con un valor y
una referencia al siguiente nodo. Luego, la clase ListaEncadenada se encarga de administrar los nodos y
proporciona métodos para agregar elementos a la lista y para imprimir la lista completa.
Ejemplo de lita circular
class Nodo:
def __init__ (self, valor):
self.valor = valor
self.siguiente = None
class ListaCircular:
def __init__(self):
self.primero = None
def agregar (self, valor):
nuevo_nodo = Nodo(valor)
if self.primero is None:
self.primero = nuevo_nodo
self.primero.siguiente = self.primero
# El primer nodo apunta a sí mismo
else:
actual = self.primero
while actual.siguiente != self.primero:
actual = actual.siguiente
actual.siguiente = nuevo_nodo
nuevo_nodo.siguiente = self.primero
# El último nodo apunta al primero
def imprimir(self):
if self.primero is None:
return
actual = self.primero
while True:
print(actual.valor, end=" -> ")
actual = actual.siguiente
if actual == self.primero:
break
print(" (Inicio)")
# Ejemplo de uso
lista_circular = ListaCircular()
lista_circular.agregar(1)
lista_circular.agregar(2)
lista_circular.agregar(3)
lista_circular.imprimir()
En este ejemplo, la clase Nodo representa cada elemento de la lista circular, con un valor y una referencia al
siguiente nodo. La clase ListaCircular administra los nodos y se asegura de que el último nodo apunte de
nuevo al primero, creando así la estructura circular. Finalmente, el método imprimir recorre la lista circular
desde el primer nodo e imprime los valores de cada nodo hasta volver al inicio.

Más contenido relacionado

La actualidad más candente

Programación de Base de Datos - Unidad 4 Representacion de la info
Programación de Base de Datos - Unidad 4 Representacion de la infoProgramación de Base de Datos - Unidad 4 Representacion de la info
Programación de Base de Datos - Unidad 4 Representacion de la infoJosé Antonio Sandoval Acosta
 
Generador de codigo intermedio
Generador de codigo intermedioGenerador de codigo intermedio
Generador de codigo intermedioGuillermo
 
DISPOSITIVOS Y MANEJADORES DE DISPOSITIVOS
DISPOSITIVOS Y MANEJADORES DE DISPOSITIVOSDISPOSITIVOS Y MANEJADORES DE DISPOSITIVOS
DISPOSITIVOS Y MANEJADORES DE DISPOSITIVOSGonzalo Murga Sotelo
 
Generación código intermedio 2
Generación código intermedio 2Generación código intermedio 2
Generación código intermedio 2Humano Terricola
 
Query-porcessing-& Query optimization
Query-porcessing-& Query optimizationQuery-porcessing-& Query optimization
Query-porcessing-& Query optimizationSaranya Natarajan
 
Modelo entidad relacion
Modelo entidad relacionModelo entidad relacion
Modelo entidad relacionNancyB18
 
Linux ud2 - comandos gestion archivos
Linux   ud2 - comandos gestion archivosLinux   ud2 - comandos gestion archivos
Linux ud2 - comandos gestion archivosJavier Muñoz
 
Wildcard In database
Wildcard In databaseWildcard In database
Wildcard In databasejamilmalik19
 
Query optimization in SQL
Query optimization in SQLQuery optimization in SQL
Query optimization in SQLAbdul Rehman
 
Nuevas tecnologías y aplicaciones de los sistemas de bases de datos
Nuevas tecnologías y aplicaciones de los sistemas de bases de datosNuevas tecnologías y aplicaciones de los sistemas de bases de datos
Nuevas tecnologías y aplicaciones de los sistemas de bases de datosHugo Alberto Rivera Diaz
 
automatas finitos
 automatas finitos automatas finitos
automatas finitosAnel Sosa
 

La actualidad más candente (20)

Html Basic Tags
Html Basic TagsHtml Basic Tags
Html Basic Tags
 
Casos De Uso
Casos De UsoCasos De Uso
Casos De Uso
 
Programación de Base de Datos - Unidad 4 Representacion de la info
Programación de Base de Datos - Unidad 4 Representacion de la infoProgramación de Base de Datos - Unidad 4 Representacion de la info
Programación de Base de Datos - Unidad 4 Representacion de la info
 
Generador de codigo intermedio
Generador de codigo intermedioGenerador de codigo intermedio
Generador de codigo intermedio
 
Guia normalización
Guia normalizaciónGuia normalización
Guia normalización
 
DISPOSITIVOS Y MANEJADORES DE DISPOSITIVOS
DISPOSITIVOS Y MANEJADORES DE DISPOSITIVOSDISPOSITIVOS Y MANEJADORES DE DISPOSITIVOS
DISPOSITIVOS Y MANEJADORES DE DISPOSITIVOS
 
Generación código intermedio 2
Generación código intermedio 2Generación código intermedio 2
Generación código intermedio 2
 
Unidad 3 Listas Java
Unidad 3 Listas JavaUnidad 3 Listas Java
Unidad 3 Listas Java
 
Diagramas de Secuencia.
Diagramas de Secuencia.Diagramas de Secuencia.
Diagramas de Secuencia.
 
Diagramas uml
Diagramas umlDiagramas uml
Diagramas uml
 
Query-porcessing-& Query optimization
Query-porcessing-& Query optimizationQuery-porcessing-& Query optimization
Query-porcessing-& Query optimization
 
Modelo entidad relacion
Modelo entidad relacionModelo entidad relacion
Modelo entidad relacion
 
Linux ud2 - comandos gestion archivos
Linux   ud2 - comandos gestion archivosLinux   ud2 - comandos gestion archivos
Linux ud2 - comandos gestion archivos
 
Wildcard In database
Wildcard In databaseWildcard In database
Wildcard In database
 
Vistas
VistasVistas
Vistas
 
Listas (java)
Listas (java)Listas (java)
Listas (java)
 
Procedimientos almacenados en MySQL
Procedimientos almacenados en MySQLProcedimientos almacenados en MySQL
Procedimientos almacenados en MySQL
 
Query optimization in SQL
Query optimization in SQLQuery optimization in SQL
Query optimization in SQL
 
Nuevas tecnologías y aplicaciones de los sistemas de bases de datos
Nuevas tecnologías y aplicaciones de los sistemas de bases de datosNuevas tecnologías y aplicaciones de los sistemas de bases de datos
Nuevas tecnologías y aplicaciones de los sistemas de bases de datos
 
automatas finitos
 automatas finitos automatas finitos
automatas finitos
 

Similar a LISTAS EN PROGRAMACION.pdf

Informe de Lista.pdf
Informe de Lista.pdfInforme de Lista.pdf
Informe de Lista.pdfdciutsucre
 
DECLARACION DE LISTAS 1.pdf
DECLARACION DE LISTAS 1.pdfDECLARACION DE LISTAS 1.pdf
DECLARACION DE LISTAS 1.pdfmichaelsilva2k20
 
Importancia de las listas Estructura de datos.
Importancia de las listas Estructura de datos.Importancia de las listas Estructura de datos.
Importancia de las listas Estructura de datos.xaviercamposm
 
Estructuras de datos y estructuras de almacenamiento migueld
Estructuras de datos y estructuras de almacenamiento migueldEstructuras de datos y estructuras de almacenamiento migueld
Estructuras de datos y estructuras de almacenamiento migueldMiguelDiaz369
 
Estructura de Datos. Listas. Concepto y Caracteristicas
Estructura de Datos. Listas. Concepto y CaracteristicasEstructura de Datos. Listas. Concepto y Caracteristicas
Estructura de Datos. Listas. Concepto y CaracteristicasLENNYGALINDEZ
 
Estructuras de datos y estructuras de almacenamiento miguel
Estructuras de datos y estructuras de almacenamiento miguelEstructuras de datos y estructuras de almacenamiento miguel
Estructuras de datos y estructuras de almacenamiento miguelMiguelDiaz369
 
Listas c#
Listas c#Listas c#
Listas c#rezzaca
 
Lista,pilas y columnas
Lista,pilas y columnasLista,pilas y columnas
Lista,pilas y columnaskety24
 
Listas, pilas y colas
Listas, pilas y colasListas, pilas y colas
Listas, pilas y colasMaxDLeon
 
listas Luis Guarata 31332901.pdf
listas Luis Guarata 31332901.pdflistas Luis Guarata 31332901.pdf
listas Luis Guarata 31332901.pdfLuisAGuarata
 
Presentación Estructuras de Datos Y Estructuras de Almacenamiento.pptx
Presentación Estructuras de Datos Y Estructuras de Almacenamiento.pptxPresentación Estructuras de Datos Y Estructuras de Almacenamiento.pptx
Presentación Estructuras de Datos Y Estructuras de Almacenamiento.pptxCarlosEspaa16
 
Listas como estructura de datos..
Listas como estructura de datos..Listas como estructura de datos..
Listas como estructura de datos..NANO-06
 
Listas, pilas y colas
Listas, pilas y colasListas, pilas y colas
Listas, pilas y colasknowallrpa
 
jhon anton 31.184.245 (declaraciones Listas).pdf
jhon anton 31.184.245 (declaraciones Listas).pdfjhon anton 31.184.245 (declaraciones Listas).pdf
jhon anton 31.184.245 (declaraciones Listas).pdfjhonanton789
 

Similar a LISTAS EN PROGRAMACION.pdf (20)

Informe de Lista.pdf
Informe de Lista.pdfInforme de Lista.pdf
Informe de Lista.pdf
 
DECLARACION DE LISTAS 1.pdf
DECLARACION DE LISTAS 1.pdfDECLARACION DE LISTAS 1.pdf
DECLARACION DE LISTAS 1.pdf
 
Importancia de las listas Estructura de datos.
Importancia de las listas Estructura de datos.Importancia de las listas Estructura de datos.
Importancia de las listas Estructura de datos.
 
Estructuras de datos y estructuras de almacenamiento migueld
Estructuras de datos y estructuras de almacenamiento migueldEstructuras de datos y estructuras de almacenamiento migueld
Estructuras de datos y estructuras de almacenamiento migueld
 
Estructura de Datos. Listas. Concepto y Caracteristicas
Estructura de Datos. Listas. Concepto y CaracteristicasEstructura de Datos. Listas. Concepto y Caracteristicas
Estructura de Datos. Listas. Concepto y Caracteristicas
 
Estructuras de datos y estructuras de almacenamiento miguel
Estructuras de datos y estructuras de almacenamiento miguelEstructuras de datos y estructuras de almacenamiento miguel
Estructuras de datos y estructuras de almacenamiento miguel
 
Estructura de datos
Estructura de datosEstructura de datos
Estructura de datos
 
Listas c#
Listas c#Listas c#
Listas c#
 
Lista,pilas y columnas
Lista,pilas y columnasLista,pilas y columnas
Lista,pilas y columnas
 
Listas, pilas y colas
Listas, pilas y colasListas, pilas y colas
Listas, pilas y colas
 
listas Luis Guarata 31332901.pdf
listas Luis Guarata 31332901.pdflistas Luis Guarata 31332901.pdf
listas Luis Guarata 31332901.pdf
 
Listas
ListasListas
Listas
 
Presentación1
Presentación1Presentación1
Presentación1
 
Presentación Estructuras de Datos Y Estructuras de Almacenamiento.pptx
Presentación Estructuras de Datos Y Estructuras de Almacenamiento.pptxPresentación Estructuras de Datos Y Estructuras de Almacenamiento.pptx
Presentación Estructuras de Datos Y Estructuras de Almacenamiento.pptx
 
Listas como estructura de datos..
Listas como estructura de datos..Listas como estructura de datos..
Listas como estructura de datos..
 
Listas, pilas y colas
Listas, pilas y colasListas, pilas y colas
Listas, pilas y colas
 
Presentación1
Presentación1Presentación1
Presentación1
 
jhon anton 31.184.245 (declaraciones Listas).pdf
jhon anton 31.184.245 (declaraciones Listas).pdfjhon anton 31.184.245 (declaraciones Listas).pdf
jhon anton 31.184.245 (declaraciones Listas).pdf
 
Taller de acces
Taller de accesTaller de acces
Taller de acces
 
LISTAS JAVA
LISTAS JAVALISTAS JAVA
LISTAS JAVA
 

LISTAS EN PROGRAMACION.pdf

  • 1. ¿Que son las listas en programación? En programación, una lista es una estructura de datos que permite almacenar una colección ordenada de elementos. Estos elementos pueden ser de cualquier tipo, como números, cadenas de texto o incluso otras listas. Las listas son muy utilizadas debido a su flexibilidad y capacidad para manejar conjuntos de datos dinámicos. Características Las principales características de las listas son: 1. Orden: Los elementos de una lista se mantienen en un orden específico, lo que permite acceder a ellos de manera secuencial. 2. Mutabilidad: En la mayoría de los lenguajes de programación, las listas son estructuras de datos mutables, lo que significa que se pueden modificar agregando, eliminando o modificando elementos. 3. Flexibilidad: Las listas pueden contener elementos de diferentes tipos y pueden crecer o disminuir dinámicamente en tamaño según sea necesario. 4. Indexación: Los elementos de una lista pueden ser accedidos mediante un índice numérico que indica su posición en la lista. 5. Iteración: Las listas permiten iterar sobre sus elementos de manera eficiente, lo que facilita el procesamiento de grandes conjuntos de datos.
  • 2. 6. Funciones y métodos: Los lenguajes de programación suelen proporcionar una variedad de funciones y métodos para manipular listas, como agregar elementos, eliminar elementos, ordenar la lista, entre otros. Tipos de listas En programación, hay varios tipos de listas que se utilizan según las necesidades específicas del problema a resolver. Algunos de los tipos comunes de listas incluyen: 1. Listas simples: Son listas básicas que contienen elementos individuales. Estas son las listas más comunes y versátiles en la mayoría de los lenguajes de programación. 2. Listas anidadas: También conocidas como listas dentro de listas, permiten almacenar listas como elementos individuales dentro de una lista principal. Esto es útil para representar estructuras de datos más complejas. 3. Listas enlazadas: Son estructuras de datos donde cada elemento de la lista contiene un puntero (referencia) al siguiente elemento. Esto permite la inserción y eliminación eficiente de elementos en cualquier posición de la lista. 4. Listas circulares: Son listas enlazadas donde el último elemento apunta al primero, formando un ciclo. Esto puede ser útil en situaciones donde se necesita un acceso circular a los elementos de la lista. 5. Listas doblemente enlazadas: En estas listas cada elemento tiene un puntero tanto al siguiente como al anterior elemento de la lista. Esto facilita la navegación bidireccional a través de la lista. 6. Listas ordenadas: Son listas donde los elementos están ordenados según un criterio específico, como numérico o alfabético. Esto facilita la búsqueda y el acceso eficiente a los elementos.
  • 3. Usos de las listas Las listas son una de las estructuras de datos más fundamentales y versátiles en programación, y se utilizan en una amplia variedad de aplicaciones. Algunos de los usos más comunes de las listas incluyen: 1. Almacenamiento de datos: Las listas se utilizan para almacenar colecciones de elementos, como números, cadenas de texto, objetos u otros tipos de datos, de manera ordenada y accesible. 2. Procesamiento de datos: Las listas permiten realizar operaciones como la búsqueda, filtrado, ordenamiento y manipulación de datos de manera eficiente. 3. Implementación de estructuras de datos: Las listas se utilizan como componentes fundamentales en la implementación de otras estructuras de datos más complejas, como pilas, colas, árboles y grafos. 4. Iteración y recorrido: Las listas ofrecen una forma de iterar sobre una colección de elementos para realizar operaciones en cada uno. 5. Gestión de memoria dinámica: En lenguajes de programación donde la gestión de memoria es manual, como C o C++, las listas dinámicas se utilizan para asignar y liberar memoria de forma dinámica según sea necesario. 6. Representación de datos estructurados: Las listas anidadas se utilizan para representar estructuras de datos complejas, como matrices multidimensionales, registros y objetos compuestos. 7. Implementación de algoritmos: Muchos algoritmos y técnicas de programación utilizan listas para almacenar datos temporales, realizar seguimiento del estado del programa o representar relaciones entre diferentes elementos.
  • 4. Ejemplo de lista simple # Crear una lista simple mi_lista = [1, 2, 3, 4, 5] # Acceder a elementos de la lista por índice primer_elemento = mi_lista[0] ultimo_elemento = mi_lista[-1] # Modificar elementos de la lista mi_lista[2] = 10 # Agregar elementos a la lista mi_lista.append(6) # Eliminar elementos de la lista mi_lista.remove(4) # Longitud de la lista longitud_lista = len(mi_lista) # Iterar sobre los elementos de la lista for elemento in mi_lista: print(elemento) # Comprobar si un elemento está en la lista if 3 in mi_lista: print("El elemento 3 está en la lista") # Imprimir la lista completa print(mi_lista) [1, 2, 3, 4, 5]
  • 5. Ejemplo de lista encadenada class Nodo: def _init_ (self, valor): self.valor = valor self.siguiente = None # Inicialmente no hay siguiente nodo class ListaEncadenada: def _init_(self): self.cabeza = None # Inicialmente la lista está vacía def agregar (self, valor): nuevo_nodo = Nodo(valor) if self.cabeza is None: self.cabeza = nuevo_nodo else: actual = self.cabeza while actual.siguiente is not None: actual = actual.siguiente actual.siguiente = nuevo_nodo def imprimir(self): actual = self.cabeza while actual is not None: print(actual.valor, end=" -> ") actual = actual.siguiente print("None") # Ejemplo de uso lista = ListaEncadenada() lista.agregar(1) lista.agregar(2) lista.agregar(3) lista.imprimir() 1 -> 2 -> 3 -> 4 -> 5 -> None Este ejemplo crea una clase Nodo para representar cada elemento de la lista encadenada, con un valor y una referencia al siguiente nodo. Luego, la clase ListaEncadenada se encarga de administrar los nodos y proporciona métodos para agregar elementos a la lista y para imprimir la lista completa.
  • 6. Ejemplo de lita circular class Nodo: def __init__ (self, valor): self.valor = valor self.siguiente = None class ListaCircular: def __init__(self): self.primero = None def agregar (self, valor): nuevo_nodo = Nodo(valor) if self.primero is None: self.primero = nuevo_nodo self.primero.siguiente = self.primero # El primer nodo apunta a sí mismo else: actual = self.primero while actual.siguiente != self.primero: actual = actual.siguiente actual.siguiente = nuevo_nodo nuevo_nodo.siguiente = self.primero # El último nodo apunta al primero def imprimir(self): if self.primero is None: return actual = self.primero while True: print(actual.valor, end=" -> ") actual = actual.siguiente if actual == self.primero: break print(" (Inicio)") # Ejemplo de uso lista_circular = ListaCircular() lista_circular.agregar(1) lista_circular.agregar(2) lista_circular.agregar(3) lista_circular.imprimir() En este ejemplo, la clase Nodo representa cada elemento de la lista circular, con un valor y una referencia al siguiente nodo. La clase ListaCircular administra los nodos y se asegura de que el último nodo apunte de nuevo al primero, creando así la estructura circular. Finalmente, el método imprimir recorre la lista circular desde el primer nodo e imprime los valores de cada nodo hasta volver al inicio.