コード例 #1
0
class Stack:
    def __init__(self):
        self.s = LinkedList()
        self.head = self.s.sentinel

    def push(self, x):
        newnode = Node(x)
        self.s.insert(newnode)

    def pop(self):
        x = self.s.head
        if x is None:
            raise UnderFlowError
        self.s.delete(self.s.head)
        return x
コード例 #2
0
class Stack(object):

    def __init__(self):
        self.S = SinglyLinkedList()

    def is_empty(self):
        return self.S.is_empty()

    def push(self, element):
        self.S.insert(SinglyLinkedListNode(element)) # Linked list implementation of stack overflow do not exist

    def pop(self):
        head_node = self.S.delete_head()
        if head_node:
            return head_node.key
        else:
            raise IndexError('stack underflow')
コード例 #3
0
from singly_linked_list import SinglyLinkedList

my_list = SinglyLinkedList()
my_list.print()

for i in range(10):
    my_list.append(i + 1)

my_list.print()

for i in range(10):
    my_list.prepend(i + 1)

my_list.print()

value = my_list.access(3)
print('my_list.access(3) = ' + str(value))

my_list.insert(8, 128)
my_list.print()

my_list.remove(4)
my_list.print()

my_list.set_head(10)
my_list.print()
コード例 #4
0
ファイル: test.py プロジェクト: SazzadR/pyano
 def test_insert(self):
     ls = SinglyLinkedList()
     ls.append("a").append("b").append("d")
     ls.insert(2, "c")
     self.assertEqual("c", ls.head.next.next.value)
コード例 #5
0
 def test_insert_filled_index_0(self):
     linkedlist = SinglyLinkedList([1, 2, 3, 4, 5])
     linkedlist.insert(0, 99)
     assert linkedlist[0] == 99
     assert len(linkedlist) == 6
コード例 #6
0
 def test_insert_from_empty(self):
     linkedlist = SinglyLinkedList()
     with pytest.raises(IndexError):
         linkedlist.insert(0, 0)