Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Stack:
- def __init__(self):
- self.stack = []
- def push(self, item):
- self.stack.append(item)
- def pop(self):
- if not self.is_empty():
- return self.stack.pop()
- def peek(self):
- if not self.is_empty():
- return self.stack[-1]
- def is_empty(self):
- return len(self.stack) == 0
- def size(self):
- return len(self.stack)
- # Zadanie dodatkowe
- def is_equal(self, other):
- if self.size() != other.size():
- return False
- for i in range(self.size()):
- if self.stack[i] != other.stack[i]:
- return False
- return True
- stack = Stack()
- stack.push(1)
- stack.push(2)
- stack.push(3)
- print(stack.pop()) # 3
- print(stack.peek()) # 2
- print(stack.is_empty()) # False
- print(stack.size()) # 2
- class Queue:
- def __init__(self):
- self.queue = []
- def is_empty(self):
- return len(self.queue) == 0
- def enqueue(self, item):
- self.queue.append(item)
- def dequeue(self):
- if not self.is_empty():
- return self.queue.pop(0)
- def peek(self):
- if not self.is_empty():
- return self.queue[0]
- queue = Queue()
- queue.enqueue(1)
- queue.enqueue(2)
- queue.enqueue(3)
- print(queue.dequeue()) # 1
- print(queue.dequeue()) # 2
- print(queue.is_empty()) # False
- print(queue.dequeue()) # 3
- print(queue.is_empty()) # True
- def reverse_list(input_list):
- stack = Stack()
- reversed_list = []
- for item in input_list:
- stack.push(item)
- while not stack.is_empty():
- reversed_list.append(stack.pop())
- return reversed_list
- def remove_duplicates(q):
- new_q = Queue()
- while not q.is_empty():
- item = q.dequeue()
- if item not in new_q.queue:
- new_q.enqueue(item)
- return new_q
- def is_palindrome(string):
- stack = Stack()
- for char in string:
- stack.push(char)
- reversed_string = ""
- while not stack.is_empty():
- reversed_string += stack.pop()
- return string == reversed_string
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement