Projeto de Python para o aprendizado das seguintes estruturas de dados: Hash, Set, Stack, Queue e Linked Lists
Python
class Queue:
def __init__(self):
self.data = deque([])
self.length = 0
def __len__(self):
"""Retorna o tamanho da lista"""
return self.length
def enqueue(self, value):
"""Adiciona item no final da lista"""
self.data.append(value)
self.length += 1
def dequeue(self):
"""Tira um item do começo da lista"""
self.length -= 1
return self.data.popleft()
def search(self, index):
"""Retorna o item no indice passado.
Se o index for negativo ou vazio, lança um IndexError"""
if index < 0 or self.data[index] is None:
raise IndexError
else:
return self.data[index]
def print_lines(self):
for line in list(self.data):
print(line)
def get(self, index):
return self.data[index]
def process(path_file, instance):
"""Criar uma instância da fila,
Armazenar as linhas do arquivo na fila,
Retornar nome do arquivo, qtd de linhas e as linhas."""
if len(instance) != 0:
return None
instance.enqueue(path_file)
file_lines = []
with open(path_file) as file:
for line in file:
file_lines.append(line.strip('\n'))
file_report = {
"nome_do_arquivo": path_file,
"qtd_linhas": len(file_lines),
"linhas_do_arquivo": file_lines
}
print(file_report, file=sys.stdout)
👤 Ricardo Rosa
- Website: http://ricardorosa-dev.github.io/
- Github: @ricardorosa-dev
- LinkedIn: @https://www.linkedin.com/in/ricardorosa-dev/
Give a ⭐️ if this project helped you!
This README was generated with ❤️ by readme-md-generator