Introducció
Les cues són estructures de dades lineals que segueixen el principi FIFO (First In, First Out), és a dir, el primer element que entra és el primer que surt. En aquest tema, explorarem les operacions bàsiques que es poden realitzar amb cues, com ara l'addició d'elements, la supressió d'elements i la visualització del primer element de la cua.
Operacions Bàsiques
- Enqueue (Afegir un Element)
L'operació enqueue
afegeix un element al final de la cua.
Pseudocodi:
procedure enqueue(queue, element): if queue is full: return "Cua plena" else: queue[end] = element end = end + 1
Exemple en Python:
class Cua: def __init__(self): self.cua = [] def enqueue(self, element): self.cua.append(element) # Exemple d'ús cua = Cua() cua.enqueue(10) cua.enqueue(20) print(cua.cua) # Sortida: [10, 20]
- Dequeue (Eliminar un Element)
L'operació dequeue
elimina l'element del principi de la cua.
Pseudocodi:
procedure dequeue(queue): if queue is empty: return "Cua buida" else: element = queue[start] start = start + 1 return element
Exemple en Python:
class Cua: def __init__(self): self.cua = [] def enqueue(self, element): self.cua.append(element) def dequeue(self): if not self.cua: return "Cua buida" return self.cua.pop(0) # Exemple d'ús cua = Cua() cua.enqueue(10) cua.enqueue(20) print(cua.dequeue()) # Sortida: 10 print(cua.cua) # Sortida: [20]
- Front (Visualitzar el Primer Element)
L'operació front
retorna el primer element de la cua sense eliminar-lo.
Pseudocodi:
Exemple en Python:
class Cua: def __init__(self): self.cua = [] def enqueue(self, element): self.cua.append(element) def dequeue(self): if not self.cua: return "Cua buida" return self.cua.pop(0) def front(self): if not self.cua: return "Cua buida" return self.cua[0] # Exemple d'ús cua = Cua() cua.enqueue(10) cua.enqueue(20) print(cua.front()) # Sortida: 10
- IsEmpty (Verificar si la Cua està Buida)
L'operació isEmpty
verifica si la cua està buida.
Pseudocodi:
Exemple en Python:
class Cua: def __init__(self): self.cua = [] def enqueue(self, element): self.cua.append(element) def dequeue(self): if not self.cua: return "Cua buida" return self.cua.pop(0) def front(self): if not self.cua: return "Cua buida" return self.cua[0] def isEmpty(self): return len(self.cua) == 0 # Exemple d'ús cua = Cua() print(cua.isEmpty()) # Sortida: True cua.enqueue(10) print(cua.isEmpty()) # Sortida: False
- Size (Obtenir la Mida de la Cua)
L'operació size
retorna el nombre d'elements presents a la cua.
Pseudocodi:
Exemple en Python:
class Cua: def __init__(self): self.cua = [] def enqueue(self, element): self.cua.append(element) def dequeue(self): if not self.cua: return "Cua buida" return self.cua.pop(0) def front(self): if not self.cua: return "Cua buida" return self.cua[0] def isEmpty(self): return len(self.cua) == 0 def size(self): return len(self.cua) # Exemple d'ús cua = Cua() print(cua.size()) # Sortida: 0 cua.enqueue(10) cua.enqueue(20) print(cua.size()) # Sortida: 2
Resum
En aquest tema, hem après les operacions bàsiques que es poden realitzar amb cues: enqueue
, dequeue
, front
, isEmpty
i size
. Aquestes operacions són fonamentals per gestionar cues de manera eficient i són àmpliament utilitzades en diverses aplicacions de programació.
En el següent tema, explorarem les cues circulars, una variació de les cues que permet una gestió més eficient de l'espai.
Curs d'Estructures de Dades
Mòdul 1: Introducció a les Estructures de Dades
- Què són les Estructures de Dades?
- Importància de les Estructures de Dades en la Programació
- Tipus d'Estructures de Dades
Mòdul 2: Llistes
- Introducció a les Llistes
- Llistes Enllaçades
- Llistes Doblement Enllaçades
- Llistes Circulars
- Exercicis amb Llistes
Mòdul 3: Piles
- Introducció a les Piles
- Operacions Bàsiques amb Piles
- Implementació de Piles
- Aplicacions de les Piles
- Exercicis amb Piles
Mòdul 4: Cues
- Introducció a les Cues
- Operacions Bàsiques amb Cues
- Cues Circulars
- Cues de Prioritat
- Exercicis amb Cues
Mòdul 5: Arbres
- Introducció als Arbres
- Arbres Binàries
- Arbres Binàries de Cerca
- Arbres AVL
- Arbres B
- Exercicis amb Arbres
Mòdul 6: Grafs
- Introducció als Grafs
- Representació de Grafs
- Algoritmes de Cerca en Grafs
- Algoritmes de Camins Mínims
- Aplicacions dels Grafs
- Exercicis amb Grafs