Home Queue
Post
Cancel

Queue

๐Ÿ“š Queue ๊ตฌํ˜„

๊ธฐ๋Šฅ

EventDescription
enqueue(data)๋งจ ๋’ค์— ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€ํ•˜๊ธฐ
dequeue()๋งจ ์•ž์˜ ๋ฐ์ดํ„ฐ ๋ฝ‘๊ธฐ
peek()๋งจ ์•ž์˜ ๋ฐ์ดํ„ฐ ๋ณด๊ธฐ
isEmpty()ํ์˜ ์‚ฌ์šฉ ์—ฌ๋ถ€ ๋ฐ˜ํ™˜

FIFO


๊ตฌํ˜„

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
class Node:
    def __init__(self, data):
        self.data = data
        self.next = None


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

    def enqueue(self, data):
        new_node = Node(data)
        if self.isEmpty():
            self.head = new_node
            self.tail = new_node
            return
        self.tail.next = new_node
        self.tail = new_node

    def dequeue(self):
        if self.isEmpty():
            return "Queue is Empty"
        node = self.head
        self.head = self.head.next
        return node.data

    def peek(self):
        if self.isEmpty():
            return "Queue is Empty"
        return self.head.data

    def isEmpty(self):
        return self.head is None



This post is licensed under CC BY 4.0 by the author.