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

  1. 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]

  1. 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]

  1. Front (Visualitzar el Primer Element)

L'operació front retorna el primer element de la cua sense eliminar-lo.

Pseudocodi:

procedure front(queue):
    if queue is empty:
        return "Cua buida"
    else:
        return queue[start]

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

  1. IsEmpty (Verificar si la Cua està Buida)

L'operació isEmpty verifica si la cua està buida.

Pseudocodi:

procedure isEmpty(queue):
    return queue is empty

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

  1. Size (Obtenir la Mida de la Cua)

L'operació size retorna el nombre d'elements presents a la cua.

Pseudocodi:

procedure size(queue):
    return length of queue

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.

© Copyright 2024. Tots els drets reservats