Beispiel #1
0
    def task(self):
        # проверяем что очередь не пуста и не переполнена
        if self.length < 1 or self.length > self.K:
            return

        curr = Node(self.remove())
        self.insert(curr.returnValue())
Beispiel #2
0
    def test_length(self):
        self.assertEqual(self.l.length(), 0)

        self.l.add(Node(1))
        self.l.add(Node(2))
        self.l.add(Node(3))

        self.assertEqual(self.l.length(), 3)
Beispiel #3
0
    def test_to_string(self):
        self.assertEqual(self.l.to_string(), "[]")

        self.l.add(Node(1))
        self.assertEqual(self.l.to_string(), "[1]")

        self.l.add(Node(2))
        self.l.add(Node(3))
        self.assertEqual(self.l.to_string(), "[3, 2, 1]")
Beispiel #4
0
    def test_to_list(self):
        self.assertEqual(self.l.to_list(), [])

        self.l.add(Node(1))
        self.assertEqual(self.l.to_list(), [1])

        self.l.add(Node(2))
        self.l.add(Node(3))
        self.assertEqual(self.l.to_list(), [3, 2, 1])
Beispiel #5
0
    def push(self, value):

        node = Node(value)

        if self.lenght == 0:
            self.head = node
            self.lenght += 1
        else:
            node.next = self.head
            self.head = node
            self.lenght += 1
Beispiel #6
0
 def insert(self, value):
     node = Node(value)
     node.next = None
     if self.length == 0:
         # if list is empty, the new node is head and last
         self.head = self.last = node
     else:
         # find the last node
         last = self.last
         # append the new node
         last.next = node
         self.last = node
     self.length += 1
Beispiel #7
0
    def test_delete(self):
        self.l.add(Node(1))
        self.l.add(Node(2))
        self.l.add(Node(3))

        self.assertTrue(self.l.delete(Node(2)).equals(Node(2)))
        self.assertIsNone(self.l.delete(Node(12)))
Beispiel #8
0
    def test_add_mixed(self):
        self.l.add(Node(1))
        self.l.add_tail(Node(2))
        self.l.add_tail(Node(3))
        self.l.add(Node(4))
        self.l.add(Node(5))
        self.l.add_tail(Node(6))

        self.assertEqual(self.l.to_list(), [5, 4, 1, 2, 3, 6])
Beispiel #9
0
 def test_add_tail(self):
     self.l.add_tail(Node(1))
     self.l.add_tail(Node(2))
     self.l.add_tail(Node(3))
     self.assertEqual(self.l.to_list(), [1, 2, 3])