Sobes.tech
Junior

Kas ir rinda programmēšanas kontekstā?

sobes.tech AI

Atbilde no AI

Rinda (Queue) ir abstrakts datu tips, kas īsteno FIFO (First-In, First-Out) principu, kur pirma pievienotais elementiem ir pirma izņemtie.

Galvenās operācijas:

  • Enqueue: Elementa pievienošana rindas galā.
  • Dequeue: Elementa izņemšana no rindas sākuma.
  • Peek/Front: Elementa vērtības iegūšana rindas sākumā bez izņemšanas.
  • IsEmpty: Pārbaude, vai rinda ir tukša.
  • Size: Pašreizējā elementu skaita iegūšana rindā.

Piemēri:

  • Uzdevumu pārvaldība operētājsistēmās.
  • Pieprasījumu apstrāde tīmekļa serveros.
  • Grafu pārvietošanas algoritmi (BFS - Breadth-First Search).
  • Datu secīgai apstrādei paredzēti buferi.

Īstenojums var būt balstīts uz masīviem vai saistītām sarakstēm.

# Piemērs, kā īstenot rindu, izmantojot sarakstu Python
class Queue:
    def __init__(self):
        self.items = []

    def is_empty(self):
        return self.items == []

    def enqueue(self, item):
        self.items.append(item) # Pievienot beigās

    def dequeue(self):
        if not self.is_empty():
            return self.items.pop(0) # No sākuma izņemt
        return None

    def peek(self):
        if not self.is_empty():
            return self.items[0]
        return None

    def size(self):
        return len(self.items)