Desafio - Estrutura de dados : Fila -
Dolby - 10.03.2014
Em contato com o membro
Willian_Luigi , resolvemos criar um novo desafio utilizando o mesmo intuito do
[Desafio] Estrutura Pilha, que й dar uma movimentada no fуrum, lanзo-lhes um outro pequeno desafio, bem parecido com o primeiro, porйm desta vez й o "inverso".
Estrutura em fila, й bem parecido com a
estrutura pilha, porйm ao em vez de utilizar o princнpio de
LIFO, ele utiliza o princнpio de
FIFO, ou seja,
First In First Out.
Basicamente o que diferencia a fila da pilha й a ordem de saнda dos elementos. Enquanto na pilha o elemento retirado й sempre o ъltimo a entrar (o do topo da pilha), na fila sempre й retirado o primeiro elemento a entrar na estrutura. Podemos fazer uma analogia com uma fila de banco por exemplo, onde a primeira pessoa a ser atendida й a que chega primeiro. А medida que outras pessoas chegam na fila, deverгo permanecer na fila aguardando que sejam atendidas, seguindo este critйrio.
Mйtodos:
- EnQueue Adiciona um elemento ao final da fila
- DeQueue Remove um elemento ao inнcio da fila
Boa sorte a todos.
Re: Desafio - Estrutura de dados : Fila -
WLSF - 10.03.2014
OBS: alguns adentros que eu gostaria de deixar padrгo como no tуpico passado, a estrutura й pra ser feita utilizando VETOR(pra quem pretende fazer com outras linguagens), ou seja, nгo й pra usar objetos.
E eu sei que pra algumas pessoas nгo conta nada, mas pra outras conta muito, entгo, pra motivar...
Quem fizer o desafio vai ganhar +4 rep.
Re: Desafio - Estrutura de dados : Fila -
Dolby - 10.03.2014
Quote:
Originally Posted by Willian_Luigi
OBS: alguns adentros que eu gostaria de deixar padrгo como no tуpico passado, a estrutura й pra ser feita utilizando VETOR(pra quem pretende fazer com outras linguagens), ou seja, nгo й pra usar objetos.
|
Obrigado, realmente acabei me esquecendo de citar isto.
Quote:
Originally Posted by Willian_Luigi
E eu sei que pra algumas pessoas nгo conta nada, mas pra outras conta muito, entгo, pra motivar...
Quem fizer o desafio vai ganhar +4 rep.
|
+7
rep*.
Re: Desafio - Estrutura de dados : Fila -
Schocc - 10.03.2014
REMOVED
Re: Desafio - Estrutura de dados : Fila -
JoaoPedro - 10.03.2014
Code:
# -*- encoding: utf-8 -*-
class Queue():
queue = []
def __init__(self):
pass
def add(self, v):
self.queue.append(v)
def remove(self):
self.queue = filter(lambda x: x != self.queue[0], self.queue)
def show(self):
print self.queue
obs Nгo entendi a parte de tirar da fila. Eu escolho o valor a ser tirado ou ele tira automaticamente o primeiro? Eu botei pra tirar automaticamente o primeiro.
Re: Desafio - Estrutura de dados : Fila -
shittt - 10.03.2014
Algum Exemplo ? de como fazer este desafio ?
Re: Desafio - Estrutura de dados : Fila -
WLSF - 10.03.2014
@
JoaoPedro, ele tira o primeiro elemento que entrou.
Essa й a diferenзa da pilha pra fila, a fila й como se fosse uma fila comum...
Se eu entrar na fila, e vocк entrar depois, o primeiro a ser chamado(sair) sou eu, e depois vocк...
Re: Desafio - Estrutura de dados : Fila -
JoaoPedro - 10.03.2014
Entгo estб fazendo o esperado. Quem quiser testar:
Code:
q = Queue()
q.add(1)
q.add(2)
q.add(3)
q.add(4)
q.add(5)
q.remove()
q.remove()
q.add(5)
q.show()
Re: Desafio - Estrutura de dados : Fila -
WLSF - 10.03.2014
@
shittt, nгo tem exemplo, a estrutura jб foi explicada...
Vocк precisa pensar numa lуgica que possa suprir a estrutura da forma como ela foi explicada.
A fila criada, serб um vetor.
Quando utilizar o mйtodo de inserir na fila, o item que vocк passar como parвmetro vai pro vetor, quando vocк usar o remover, ele removerб o primeiro elemento que entrou.
Basta pensar na lуgica agora.
Re: Desafio - Estrutura de dados : Fila -
DannielCooper - 10.03.2014
Difнcil por nгo ter uma funзгo que cheque os valores, mas com um pouco de esforзo consegui
pawn Code:
new dvalor, rvalor, valor;
dvalor = ENQUEUE;
rvalor = DEQUEUE;
function Add(){
dvalor ++;
valor ++;
return 1;
}
function Remove(){
if(valor == EOS) return 0;
rvalor;
return 1;
}
Code feito bem mais na lуgica. Nгo precisa me reputar.