очередь связанного списка Python с необязательным ограничением - PullRequest
0 голосов
/ 17 октября 2019

поэтому у меня есть базовый конструктор для моего класса очереди, как показано здесь:

class Queue:
  def __init__(self):
    self._qhead = None
    self._qtail = None
    self._count = 0

, но мне нужно разрешить конструктору принимать необязательный параметр, который указывает максимальный размер очереди и, если нет, размердается, тогда очередь не ограничена.

Как бы я это сделал? ТИА

Ответы [ 2 ]

0 голосов
/ 17 октября 2019

Можно использовать значение по умолчанию None, например:

class Queue:
  def __init__(self, max_size=None):
    self._qhead = None
    self._qtail = None
    self._count = 0
    self.max_size = max_size

и соответствующие методы:

if max_size is None:
    # code for the unbounded case
else:
    # we have a value for max_size, act accordingly
0 голосов
/ 17 октября 2019
class Queue:
  def __init__(self, size=Value):
    self._qhead = None
    self._qtail = None
    self._count = 0

Вы бы установили значение по умолчанию, установив параметр, равный тому, что вы хотите. Если объект создается с другим аргументом, он заменит значение по умолчанию.

...