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
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')
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()
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)
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
def test_insert_from_empty(self): linkedlist = SinglyLinkedList() with pytest.raises(IndexError): linkedlist.insert(0, 0)