Advertisement
ada1711

Lekcja 15 - Python (19.04)

Apr 19th, 2023
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.13 KB | None | 0 0
  1. class Stack:
  2.     def __init__(self):
  3.         self.stack = []
  4.  
  5.     def push(self, item):
  6.         self.stack.append(item)
  7.  
  8.     def pop(self):
  9.         if not self.is_empty():
  10.             return self.stack.pop()
  11.  
  12.     def peek(self):
  13.         if not self.is_empty():
  14.             return self.stack[-1]
  15.  
  16.     def is_empty(self):
  17.         return len(self.stack) == 0
  18.  
  19.     def size(self):
  20.         return len(self.stack)
  21.    
  22.     # Zadanie dodatkowe
  23.     def is_equal(self, other):
  24.         if self.size() != other.size():
  25.             return False
  26.         for i in range(self.size()):
  27.             if self.stack[i] != other.stack[i]:
  28.                 return False
  29.         return True
  30.  
  31. stack = Stack()
  32.  
  33. stack.push(1)
  34. stack.push(2)
  35. stack.push(3)
  36.  
  37. print(stack.pop())  # 3
  38. print(stack.peek())  # 2
  39. print(stack.is_empty())  # False
  40. print(stack.size())  # 2
  41.  
  42.  
  43.  
  44.  
  45. class Queue:
  46.     def __init__(self):
  47.         self.queue = []
  48.  
  49.     def is_empty(self):
  50.         return len(self.queue) == 0
  51.  
  52.     def enqueue(self, item):
  53.         self.queue.append(item)
  54.  
  55.     def dequeue(self):
  56.         if not self.is_empty():
  57.             return self.queue.pop(0)
  58.  
  59.     def peek(self):
  60.         if not self.is_empty():
  61.             return self.queue[0]
  62.  
  63. queue = Queue()
  64.  
  65. queue.enqueue(1)
  66. queue.enqueue(2)
  67. queue.enqueue(3)
  68.  
  69. print(queue.dequeue())  # 1
  70. print(queue.dequeue())  # 2
  71. print(queue.is_empty())  # False
  72. print(queue.dequeue())  # 3
  73. print(queue.is_empty())  # True
  74.  
  75.  
  76. def reverse_list(input_list):
  77.     stack = Stack()
  78.     reversed_list = []
  79.    
  80.     for item in input_list:
  81.         stack.push(item)
  82.    
  83.     while not stack.is_empty():
  84.         reversed_list.append(stack.pop())
  85.        
  86.     return reversed_list
  87.  
  88. def remove_duplicates(q):
  89.     new_q = Queue()
  90.     while not q.is_empty():
  91.         item = q.dequeue()
  92.         if item not in new_q.queue:
  93.             new_q.enqueue(item)
  94.     return new_q
  95.  
  96.  
  97. def is_palindrome(string):
  98.     stack = Stack()
  99.     for char in string:
  100.         stack.push(char)
  101.     reversed_string = ""
  102.     while not stack.is_empty():
  103.         reversed_string += stack.pop()
  104.     return string == reversed_string
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement