コード例 #1
0
 def push(self, data):
     self.min_stack.append(self.current_min)
     new_node = Node(data)
     new_node.next = self.head
     self.head = new_node
     if self.current_min is None or self.current_min > data:
         self.current_min = data
コード例 #2
0
 def push(self, data):
     if self.is_full():
         return
     else:
         new_node = Node(data)
         new_node.next = self.head
         self.head = new_node
         self.current_size += 1
コード例 #3
0
    def push(self, data):
        new_node = Node(data)
        new_node.set_next(self.head)
        self.head = new_node

        try:
            min = self.min_stack.peek()
            if data <= min:
                self.min_stack.push(data)
        except Stack.Empty:
            self.min_stack.push(data)
コード例 #4
0
ファイル: Queue.py プロジェクト: MohamedHajr/Problem-Solving
 def add(self, val):
     newNode = Node(val)
     self.size += 1
     if self.last:
         self.last.next = newNode
     self.last = newNode
     if not self.first:
         self.first = self.last
コード例 #5
0
ファイル: Queues.py プロジェクト: sunnyyants/crackingPython
 def enQueue(self, item):
     if(self.first == None):
         self.first = Node(None,item);
         self.last = self.first
     else:
         self.last.setNext(Node(None,item))
         self.last = self.last.getNext()
     self.size += 1
コード例 #6
0
ファイル: Queues.py プロジェクト: sunnyyants/crackingPython
class Queue:

    def __init__(self):
        self.first = None
        self.last = None
        self.size = 0

    def enQueue(self, item):
        if(self.first == None):
            self.first = Node(None,item);
            self.last = self.first
        else:
            self.last.setNext(Node(None,item))
            self.last = self.last.getNext()
        self.size += 1

    def deQueue(self):
        if(self.first != None):
            node = self.first
            self.first = self.first.getNext()
            self.size -= 1
            return node.item
        return None

    def isEmpty(self):
        return self.size == 0

    def qSize(self):
        return self.size

    def printQueue(self):
        node = self.first
        q = []
        while(node != None):
            q.append(node.item)
            node = node.next
        return (str)(q)
コード例 #7
0
#! /usr/bin/env python

from Stack import Stack, Node

node1 = Node(1)
node2 = Node(2)
node3 = Node(3)
node4 = Node(4)
node5 = Node(5)
node6 = Node(6)
node7 = Node(7)

my_stack = Stack()

my_stack.push(node1)
my_stack.push(node2)
my_stack.push(node3)
my_stack.push(node4)
my_stack.push(node5)
my_stack.push(node6)
my_stack.push(node7)

print("Test peek")
print(my_stack.peek())

print("Test pop")
ret_node = my_stack.pop()
print("Test node: {}".format(ret_node))
print("New top: {}".format(my_stack.peek()))

print("Find Min")
コード例 #8
0
ファイル: test_stack.py プロジェクト: f1ne2/Data-structures
 def test_next(self):
     self.new = Stack()
     self.new.push("1CBA")
     self.new.push("2CBA")
     self.assertEqual(self.new.top.next, Node("1CBA"))
コード例 #9
0
ファイル: test_stack.py プロジェクト: f1ne2/Data-structures
 def SetUp(self):
     self.node_1 = Node("ABC")
     self.node_2 = Node("ABC_2")