Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Latest commit

 

History

History
History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 

README.md

Outline

Queue Implementation

Queue using Linked List

class ListNode(object):
    def __init__(self, x):
        self.val = x
        self.next = None

class Queue(object):
    def __init__(self):
        self.head = None
        self.tail = None
        self.size = 0

    def __str__(self):
        '''print Queue'''
        res = ''
        cur = self.head
        while cur:
            res += str(cur.val)
            res += ' '
            cur = cur.next
        return res

    def push(self, val):
        node = ListNode(val)
        if not self.head:
            self.head = self.tail = node
        else:
            self.tail.next = node
            self.tail = node
        self.size += 1

    def popleft(self):
        if not self.head:
            return None
        pop_val = self.head.val
        self.head = self.head.next
        if self.head == None:
            self.tail = None
        self.size -= 1
        return pop_val

    def peekleft(self):
        if self.head:
            return self.head.val
        return None

    def get_size(self):
        return self.size

    def is_empty(self):
        return self.size == 0
Morty Proxy This is a proxified and sanitized view of the page, visit original site.