-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathutils.py
More file actions
39 lines (31 loc) · 969 Bytes
/
utils.py
File metadata and controls
39 lines (31 loc) · 969 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
def read(path):
with open(path, 'r') as file:
return file.read()
class Stack:
def __init__(self):
self.stack = []
self.size = 0
def pop(self, num=1):
if num > self.size:
raise Exception('pop size bigger than stack size!, {}, {}'.format(self.size, num))
self.stack = self.stack[:self.size-num]
self.size -= num
# print("pop", self.stack)
def push(self, key):
self.stack += [key]
self.size += 1
# print("push", self.stack)
def empty(self):
self.stack = []
self.size = 0
def top(self):
return self.stack[self.size-1]
def get_from_top(self, i):
if i >= self.size:
raise Exception("More than stack size!")
return self.stack[self.size - i - 1]
def get_index(self, key):
for i in range(len(self.stack)):
if self.stack[i] == key:
return i
return -1