GitHub Access Token became invalid

It seems like the GitHub access token used for retrieving details about this repository from GitHub became invalid. This might prevent certain types of inspections from being run (in particular, everything related to pull requests).
Please ask an admin of your repository to re-new the access token on this website.

MinPQ.__init__()   A
last analyzed

Complexity

Conditions 3

Size

Total Lines 6

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 3
c 1
b 0
f 0
dl 0
loc 6
rs 9.4285
1
def exchange(a, i, j):
2
    temp = a[i]
3
    a[i] = a[j]
4
    a[j] = temp
5
6
7
class MinPQ(object):
8
    s = None
9
    N = 0
10
    compare = None
11
12
    def __init__(self, compare=None):
13
        self.s = [0] * 10
14
        self.N = 0
15
        if compare is None:
16
            compare = lambda x, y: x - y
17
        self.compare = compare
18
19
    def less(self, a1, a2):
20
        return self.compare(a1, a2) < 0
21
22
    def enqueue(self, item):
23
        if self.N + 1 >= len(self.s):
24
            self.resize(len(self.s) * 2)
25
26
        self.N += 1
27
        self.s[self.N] = item
28
        self.swim(self.N)
29
30
    def resize(self, new_length):
31
        temp = [0] * new_length
32
        length = min(new_length, len(self.s))
33
        for i in range(length):
34
            temp[i] = self.s[i]
35
        self.s = temp
36
37
    def swim(self, k):
38
        while k > 1:
39
            parent = k // 2
40
            if self.less(self.s[k], self.s[parent]):
41
                exchange(self.s, k, parent)
42
                k = parent
43
            else:
44
                break
45
46
    def del_min(self):
47
        if self.N == 0:
48
            return None
49
        item = self.s[1]
50
        exchange(self.s, 1, self.N)
51
        self.N -= 1
52
        self.sink(1)
53
        return item
54
55
    def sink(self, k):
56
        while 2 * k <= self.N:
57
            child = k * 2
58
            if child < self.N and self.less(self.s[child + 1], self.s[child]):
59
                child += 1
60
            if self.less(self.s[child], self.s[k]):
61
                exchange(self.s, k, child)
62
                k = child
63
            else:
64
                break
65
66
    def size(self):
67
        return self.N
68
69
    def is_empty(self):
70
        return self.N == 0
71