Jim
Jim

Reputation: 79

Confused about the size() function in python

I'm going through the code to write a circular queue in python


class CircularQueue:

  # constructor for the class
  # taking input for the size of the Circular queue 
  # from user
  def __init__(self, maxSize):
    self.queue = list()
    # user input value for maxSize
    self.maxSize = maxSize
    self.head = 0
    self.tail = 0

  # add element to the queue
  def enqueue(self, data):
    # if queue is full
    if self.size() == (self.maxSize - 1):
      return("Queue is full!")
    else:
      # add element to the queue
      self.queue.append(data)
      # increment the tail pointer
      self.tail = (self.tail+1) % self.maxSize
      return True

and the part that confuses me is the self.size() in the method "enqueue"

I looked through the python docs and don't see any size() function, only references to size() in numpy.

Normally you'd want to call len() for the size of a list, but I know you can't do self.len()

any clarity/explanation of the syntax and logic behind writing something like this would be helpful!

Upvotes: 1

Views: 638

Answers (1)

n_estrada
n_estrada

Reputation: 86

You need to define your own size() method and just return the number of items currently held in the queue.

Upvotes: 1

Related Questions