Example #1
0
	def push (self, value): 
		new_node = Node(value)

		curr_node = self.head.next

		while curr_node != self.tail:
			if getattr(curr_node.value, self.key_name) >= getattr(new_node.value, self.key_name):
				prev_node = curr_node.prev

				prev_node.next = new_node
				new_node.prev = prev_node

				new_node.next = curr_node
				curr_node.prev = new_node

				self.size += 1

				return

			curr_node = curr_node.next

		Queue.add_to_tail(self, value)