Implementando - Fila

  Рет қаралды 23,623

Professor Isidro

Professor Isidro

Күн бұрын

Já sabemos como funciona a teoria sobre o funcionamento da Fila? Siiiiiiiiiiiiiiiiiiiiiiimmmmmm Profesooooooooooooooooorrr!!
Então bora por a mão na massa e programar essa Fila em Java?
Comenta aí se você tiver dúvidas e sugestões!
#vamosprogramar #aquiehcodigomeufilho
/*------------nao mexer daqui pra frente... está funcionando :p ---------------------------------*/
Dê um LIKE no vídeo e desde já meu muito obrigado!
Inscreva-se no Canal ( / professorisidrovamospr... )
Siga o Professor Isidro onde quer que você esteja:
- Facebook: professorisidro
- Twitter: prof_isidro
- Soundcloud: www.soundcloud.com/fmassetto
- Instagram: professorisidro
- Snapchat: professorisidro
/* ------ fim do milagre ------*/

Пікірлер: 70
@mateusandrade8560
@mateusandrade8560 8 жыл бұрын
Essa sacada do resto da divisão é sensacional, valeu Isidro!
@professorisidro
@professorisidro 8 жыл бұрын
É Nóis Mateus!! heheheh tamo junto :D
@alanbarbosa1576
@alanbarbosa1576 6 жыл бұрын
eu me desafiei a fazer a fila por conta própria a partir do ultimos exemplo e c a aula de pilha obrigado por ter me ensinado
@professorisidro
@professorisidro 6 жыл бұрын
Show Alan!!! Q massa!!! fiquei super feliz de poder ter ajudado ;-) e se vc precisar, tem um curso completo lá no meu site, com os códigos e tudo mais. www.professorisidro.com.br abração
@roseliaguiar
@roseliaguiar 7 жыл бұрын
Você é sensacional. Continue produzindo videos assim!
@professorisidro
@professorisidro 7 жыл бұрын
Olá Lia! Valeu pela mensagem!! Existe uma playlist aqui no canal de um curso completo de Estruturas de Dados. Os vídeos são mais longos, mas é um curso que tá bem completinho. Se quiser, pode conferir ;-)
@fdacruzz
@fdacruzz 8 жыл бұрын
Como sempre show de bola professor!!! Parabéns! :)
@professorisidro
@professorisidro 8 жыл бұрын
+Fernando Cruz valeu Fernandao!!! Tamo junto sempre hehehehe
@nunocientista
@nunocientista 2 жыл бұрын
Caramba. explicação perfeita. entendi agora!!!! muito obrigado!!!
@professorisidro
@professorisidro 2 жыл бұрын
valeu Nuninho!!! tmj!!
@Glx789
@Glx789 5 жыл бұрын
Excelente aula, obrigado professor!!
@professorisidro
@professorisidro 5 жыл бұрын
Valeu Anderson!! E não sei se vc sabe, mas no meu site (www.professorisidro.com.br) tem um curso completo de estruturas de dados 100% gratuito e com emissão de certificados para comprovar horas extras na facul :D
@cassiolins3661
@cassiolins3661 6 жыл бұрын
Olá professor. Parabéns pelas aulas. gostei muito.
@professorisidro
@professorisidro 6 жыл бұрын
valeu Cassio!!! super obrigado pela mensagem!!! e tem um curso completo de Estruturas de Dados no meu site... 100% de grátis www.professorisidro.com.br :)
@rogeriotadeudosreis342
@rogeriotadeudosreis342 3 жыл бұрын
Boa tarde ! obrigado pela aula, me clareou muito, a forma como explicou.
@professorisidro
@professorisidro 3 жыл бұрын
Show Rogério!!! Que bom q o conteúdo ajudou! Se quiser, tem um curso completo de Estruturas de Dados no meu site (www.professorisidro.com.br) de graça com os códigos do curso. Cola lá!!
@rogeriotadeudosreis342
@rogeriotadeudosreis342 3 жыл бұрын
@@professorisidro perfeito, valeu professor, vou ver sim
@professorisidro
@professorisidro 3 жыл бұрын
Show Rogerio!! Precisando tô por aqui :)
@vitoralvescorreialimadeaqu8729
@vitoralvescorreialimadeaqu8729 6 жыл бұрын
Muito bom professor!
@professorisidro
@professorisidro 6 жыл бұрын
Valeu Vitor!!! Aaah e no meu site tem o curso completo de estruturas de dados 100% de graça. Só colar lá :)
@joaovictormodesto4766
@joaovictormodesto4766 7 жыл бұрын
Muito bom!
@professorisidro
@professorisidro 7 жыл бұрын
VAleu João Victor!!! tamo junto :D
@alisonsilva5446
@alisonsilva5446 8 жыл бұрын
Ola professor, ótima aula tem como fazer uma sobre o metodo insertbefore();
@professorisidro
@professorisidro 8 жыл бұрын
+alison silva olá Alisson beleza? na verdade o método insertBefore tem que ser implementado de duas maneiras. 1 - usando listas encadeadas, na qual você precisa fazer um percursos até o elemento que você queira e aí inserir o novo elemento antes dele, fazendo as atualizações dos ponteiros 2 - usando vetor mesmo, no qual vc deve deslocar todos os elementos após o seu inserido 1 posição a frente... e aí vc coloca o seu elemento no local... vamos lançar alguns videos de listas encadeadas caso seja interessante.. fica ligado no canal pra gente trocar uma idéia bele? valeu!!!
@arthurbarros1529
@arthurbarros1529 4 жыл бұрын
Professor Isidro, qual seria a outra forma de fazer a fila ficar circular, no caso substituindo as linhas ultimo = (ultimo + 1) % valores.length, poderia me ajudar ?
@professorisidro
@professorisidro 4 жыл бұрын
Salve Arthur... se vc pensar em fila como vetor, não tem outra alternativa... existe um "if" q vc substitui essa fórmula. Seria isso aqui: if (ultimo == valores.length) ultimo = 0; apenas isso ajudei? Valeu mesmo!!!
@dianacodes
@dianacodes 5 жыл бұрын
queria poder dar um milhão de likes pra esse deus
@professorisidro
@professorisidro 5 жыл бұрын
Calma Diana rsrrsrs bem menos.. a idéia é só ajudar a galera rsrsrsr Mas se vc quiser um curso completo, tb tem no meu site (www.professorisidro.com.br). Lá é tudo gratuito e tem os códigos que desenvolvo nas aulas. Ah e tb emite certificado, caso vc precise :D
@dianacodes
@dianacodes 5 жыл бұрын
preciso muiiito, obrigada !!@@professorisidro
@diegopereiradossantos2337
@diegopereiradossantos2337 4 жыл бұрын
Professor Isidrooooo! Se eu quiser implementar uma prioridade nessa fila como faço... quebrando cabeça nisso!
@professorisidro
@professorisidro 4 жыл бұрын
Salve Diego!!! Pensa numa fila que é composta de várias filas... uma para cada prioridade... ao inserir, vc precisa informar qual das filas vai inserir... aí pra retirar, tem que tirar sempre primeiro da mais prioritária... se ela estiver vazia, retira da 2a prioridade e assim por diante A fila prioritária estará vazia quando TODAS as filas que a compõe estiverem vazias tb :D Ajudei??
@diegopereiradossantos2337
@diegopereiradossantos2337 4 жыл бұрын
@@professorisidro então a ideia é fazer duas filas? Dois vetores?
@diegopereiradossantos2337
@diegopereiradossantos2337 4 жыл бұрын
Conseguir fazer com um vetor só, so que implementei dois ponteiros, um pra guardar a ultima posição e a outra pra guardar a primeira posição com prioridade, deu certo!
@professorisidro
@professorisidro 4 жыл бұрын
@@diegopereiradossantos2337 Diego bele? Na verdade vc precisa usar o princípio do TAD (Tipo abstrato de Dado). A fila é um novo Tipo de dado (com operações especificas, certo?) Então a fila com prioridades é uma nova fila com várias filas (um vetor de filas serve muito bem - se foi isso q eu entendi da sua resposta). A partir daí, cada posição do vetor é uma fila com sua respectiva prioridade (do menor índice para o maior, vc teria uma prioridade maior e decrescendo). Ajudei? Valeu!!!
@dodogold
@dodogold 5 жыл бұрын
No construtor, o "ULTIMO" e o "PRIMEIRO" não deveria ser startado com -1???
@professorisidro
@professorisidro 5 жыл бұрын
Salve Goga beleza? Na verdade pelo próprio funcionamento da fila no modelo de "vetor circular" independe da posição que se inicia, desde que seja uma posição válida do vetor. Isso porque, ao contrário de uma estrutura Pilha, a gente controla se ela está cheia ou vazia por uma outra variável (a TOTAL) e não pelas posições de inicio/fim. Ajudei? Valeu!!!
@danizinhaaaa
@danizinhaaaa 7 жыл бұрын
me salvando nesse semestre, obrigada prof!!!
@professorisidro
@professorisidro 7 жыл бұрын
Que bom que está ajudando Danielle!!! Tem um curso completo de Estruturas de Dados nos vídeos do "Tem Aula!" Confere lá! :D
@rebeccarangel3946
@rebeccarangel3946 5 жыл бұрын
Fala professor! Vc poderia ensinar a acrescentar uma pessoa e/ou remover da Fila em C#? o que acontece é o seguinte, eu quero colocar na tela quando damos start o seguinte: "Digite 1 para adicionar cliente ou 2 para remover" e aí no caso eu realmente gostaria que isso ocorresse. tem como?
@professorisidro
@professorisidro 5 жыл бұрын
Salve Terrorizer Gamer beleza? Na verdade C# não é muito minha linguagem de trabalho (conheço pouco dela), mas pelo que vc me disse não foge muito da implementação da aplicação para você conseguir testar a fila. Faz assim: eu tenho 2 exemplos (um em C e outro em Java) implementados no curso de Estruturas de Dados que tá no meu site (www.professorisidro.com.br). Veja se esses ajudam. É só se inscrever... o curso é gratuito e os códigos estão lá para download
@uesleimenezes9489
@uesleimenezes9489 2 жыл бұрын
Boa noite professor, ótima aula! Senhor pode dizer como posso adicionar um elemento de tempos em uma lista vazia ? Eu tentei assim import java.util.LinkedList; import java.util.TimerTask; import java.util.Timer; import java.util.Queue; public class Contador02 { public static void main(String[] args) { Timer timer = new Timer(); long SEGUNDOS = (1000 * 1); Queue no = new LinkedList(); TimerTask tarefa = new TimerTask() { @Override public void run() { int i = 0; no.add(i); while (i
@professorisidro
@professorisidro 2 жыл бұрын
Ueslei bele? Tenta criar uma Thread que "dorme" no tempo que vc quer e também adiciona elementos nesta lista... algo assim: public class MinhaThread extends Thread{ public void run(){ try{ while (quantas vezes você quiser){ // insere na lista Thread.sleep(tempo); } } catch(Exception ex) { ... } } aí na sua aplicação principal (na main) é só criar um objeto dessa Thread e dar um start() ve se ajuda (aqui no canal tem uma aula sobre threads tb)
@israelpaiva7234
@israelpaiva7234 2 жыл бұрын
Hey, adoreeei seu vídeo, fiquei apenas com uma dúvida, se eu quiser apenas imprimir os dados que foram inseridos na fila, como seria feito? Por ex: inseri 1, 2, 3 e 4 na fila, e quero mostrar no aplicativo que temos 1, 2, 3 e 4 na fila, como seria? Tentei o system.out.println(fila); e da erro D:
@professorisidro
@professorisidro 2 жыл бұрын
Salve Israel beleza? Vamos lá tem algumas maneiras... você pode criar um método que gere uma String (vai concatenando os elementos da fila nessa String) sem precisar manipular nada... vc vai do início até o fim (lembrando do conceito do "vetor circular") concatenando cada elemento nessa string e ao final a retorna. A 2a abordagem, sem precisar deste método, é vc ter uma fila auxiliar (isso vc faria na aplicação principal).. basicamente, enquanto sua fila não estivare vazia, vc retira da fila, imprime e esse elemento vc reinsere na fila auxiliar... aí ela passa a ser a sua fila principal. OU se quiser retonrar para a principal, basta retirar cada elemento e reinseri-lo na fila original. ajudei?
@marcelo_tonon3263
@marcelo_tonon3263 3 жыл бұрын
Boa tarde, sou iniciante java e estou com um desafio. Preciso implementar uma fila para gerenciar a inserção em banco de dados. Estou desenvolvendo uma aplicação web onde vários usuários podem se cadastrar ao mesmo tempo, mas preciso inserir estas solicitações em uma fila, para que, usando do princípio da fila (FIFO) a aplicação vá inserindo os cadastros na ordem em que entraram na fila. Poderia, por favor, me dar uma orientação como implemento isto? Agradeço.
@professorisidro
@professorisidro 3 жыл бұрын
Marcelo beleza? Vc precisa de 2 coisas... 1 que é a fila de registros (então alguma parte do seu software vai fazer a inserção nessa fila - talvez sua tela de cadastro) e a outra é quem vai pegar essa fila preenchida e inseri-la no banco de dados. Não sei se vc deu uma olhada aqui no canal, mas eu tb tenho um curso completo de desenvolvimento web em Java... geralmente quando a gente insere dados em uma tabela, usamos um dos atributos como chave primária. |Muitos bancos já tem essa chave como auto-incremento que, ao inserir, sempre inserem um novo registro no final (exatamente como uma fila)... a questão maior é saber se obrigatoriamente você precisa implementar uma lista separada ou não ajudei?
@marcelo_tonon3263
@marcelo_tonon3263 3 жыл бұрын
@@professorisidro Entendi o que o senhor falou. Minha questão é que, digamos que tenha uma prioridade nestes cadastros, por exemplo, um campo tempo (não podem haver dois registros com o mesmo tempo). Como um agendamento de uma consulta médica. Se eu tenho uma regra que busca no banco de dados o último cadastro registrado e retorne este tempo. E, se quatro pessoas acessam simultaneamente para cadastrar um tempo. Todos receberão a resposta que o tempo disponível é o mesmo. Se estes 4 inserts entrarem em uma fila, eu consigo gerenciar que o primeiro é o dono daquele horário, o próximo será o horário escolhido + 1 e assim por diante... Mas acima de tudo, como eu consigo implementar uma fila em sistema web, para que cada usuário conectado consiga inserir na mesma fila? Usei uma query que insere se não existir, mas os três que chegaram depois, não vai inserir e perco os 3 registros.
@professorisidro
@professorisidro 3 жыл бұрын
@@marcelo_tonon3263 Marcleo aí o problema é um pouco mais sofisticado... vc precisa trabalhar com o conceito de "transação".. existem vários algoritmos que tratam disso... isso vc consegue entender estudando um pouco de sistemas distribuídos. Existe um algoritmo chamado "Algoritmo Centralizado" para sincronização e acesso a um recurso. Ele seria tipo um "intermediário" entre os clients e o BD que gerenciaria esses acessos e essa regra de inserção... Ele usa uma fila como implementação interna... alguns sistemas mais atuais como Kafka ou mesmo MQTT usam esses conceitos nos bastidores consegui ajudar?
@marcosreis4117
@marcosreis4117 6 жыл бұрын
Professor tem como fazer uma explicação de um metodo de furar fila ?
@professorisidro
@professorisidro 6 жыл бұрын
Salve Marcos, beleza? Cara me fala mais desse método... vc quer inserir um cara no início e "empurrar" todo mundo pro final? Dá sim... vc teria q fazer trocas até "liberar" a primeira posição (Avança o fim e vem puxando todos os elementos). Quando vc chegar no início vc pega e coloca o elemento que vc quer... aí vc "fura a fila" ajudei?
@cnsclaudio
@cnsclaudio 8 жыл бұрын
muito massa!!!!!!!
@professorisidro
@professorisidro 8 жыл бұрын
+Claudio MetalMecatrônica valeu Claudio!! Tamo junto. O video foi útil?? Abração
@cnsclaudio
@cnsclaudio 8 жыл бұрын
sim ...muito esclarecedor
@professorisidro
@professorisidro 8 жыл бұрын
+Claudio MetalMecatrônica valeu Claudio!! Q bom q ajudou!! :D
@josetomaz1701
@josetomaz1701 6 жыл бұрын
Não poderia ser: while(!fila.isEmpty()){ System.out.println(fila.retirar()); } ?
@professorisidro
@professorisidro 6 жыл бұрын
+josé tomaz José tudo bem? Sim com certeza!! Neste caso eu so quis explicitar primeiro a retirada da fila pra depois mostrar o elemento. (Apenas pra tentar ser um pouco maia didático). Abração!!
@danielsoaresdearaujo1792
@danielsoaresdearaujo1792 4 жыл бұрын
Como eu faria essa questão do .lenght em C?
@professorisidro
@professorisidro 4 жыл бұрын
Daniel, em C vc não tem LENGTH... vc precisa usar direto o tamanho do vetor. Neste caso, vc pode definir uma macro com esse tamanho (#define TAMANHO 10) por exemplo e usar esse nome. Valeu!!!
@danielsoaresdearaujo1792
@danielsoaresdearaujo1792 4 жыл бұрын
@@professorisidro fiz isso,valeu! Agora estou fazendo um código com struct para cadastramento de produtos, tá difícil, qualquer coisa vou colocar uma dúvida por aqui,blz?
@professorisidro
@professorisidro 4 жыл бұрын
Claro Daniel!! pode mandar as dúvidas sim!!! E também tem o grupo do Telegram (t.me/TemAula). Lá tem uma turma porreta que ajuda a galera!!
@deisecorreia6873
@deisecorreia6873 4 жыл бұрын
Qual IDE o senhor utiliza?.
@professorisidro
@professorisidro 4 жыл бұрын
Ola Deise!! Para esses testes eu faço tudo no Sublime Text (é um concorrente do Notepad++) e executo na linha de comando mesmo :)
@Thiago28ism
@Thiago28ism 7 жыл бұрын
qual ide vc usa ?
@professorisidro
@professorisidro 7 жыл бұрын
Olá Geek Mania, na verdade nestes exemplos eu uso o Sublime Text (que é um editor que me permite ter os destaques das palavras reservadas, equivalente ao Notepad++) e compilo tudo na linha de comando. Mas tudo pode ser feito no Eclipse, Netbeans, IntelliJ ... tanto faz. abração
@NancyANDbff
@NancyANDbff 5 жыл бұрын
Essa é uma fila circular?
@professorisidro
@professorisidro 5 жыл бұрын
Olá Nancy. Na verdade esta é a implementação de uma Fila usando um Vetor manipulado de forma circular (virtualmente). Há muita gente que diz que isso é uma Fila Circular (em minha humilde opinião erroneamente), mas se formos analisar corretamente, a implementação da fila é um vetor de forma circular. Ajudei?
@NancyANDbff
@NancyANDbff 5 жыл бұрын
Professor Isidro Ajudou sim! O que muda entre eles?
@professorisidro
@professorisidro 5 жыл бұрын
@@NancyANDbff Na verdade é mais uma questão de Nomenclatura... a nomenclatura que eu acho mais adequada (de novo é opinião minha) é Fila "com implementação em vetor circular"
@jogar017
@jogar017 5 жыл бұрын
Na moral faz em c.
@professorisidro
@professorisidro 5 жыл бұрын
Salve!!! No meu site (www.professorisidro.com.br) tem o curso completo de estruturas de dados com os códigos implementados em Java e C também! É só se cadastra lá. Tudo é 100% gratuito ;-)
Implementando a Pilha em Java!
13:06
Professor Isidro
Рет қаралды 28 М.
Explicando Estrutura de Dados - Pilha
7:24
Professor Isidro
Рет қаралды 57 М.
Players vs Corner Flags 🤯
00:28
LE FOOT EN VIDÉO
Рет қаралды 45 МЛН
Как мы играем в игры 😂
00:20
МЯТНАЯ ФАНТА
Рет қаралды 2,3 МЛН
ПРИКОЛЫ НАД БРАТОМ #shorts
00:23
Паша Осадчий
Рет қаралды 5 МЛН
Curso de Java - Algoritmo de Ordenação - Selection Sort
10:03
Rodrigo Freitas
Рет қаралды 919
Explicando Estruturas de Dados - A Fila
9:57
Professor Isidro
Рет қаралды 35 М.
QuickSort - o guia definitivo (espero eu) :)
15:36
Professor Isidro
Рет қаралды 6 М.
Aula 04 Estrutura de Dados - Implementação de Fila utilizando Vetores
35:41
Professor Douglas Maioli
Рет қаралды 12 М.
Estruturas de Dados - O que são Pilhas
12:39
Bóson Treinamentos
Рет қаралды 31 М.
Programação em C - Filas
21:19
Professor Leandro Almeida
Рет қаралды 3,8 М.
Filas | Estruturas de Dados #8
23:27
Programação Dinâmica
Рет қаралды 13 М.
Aula 01 Fila em Java
21:59
WYLLIAN FRESSATTI
Рет қаралды 3,5 М.
Aula 07 Estrutura de Dados - Implementação Fila Dinâmica (com Lista Encadeada)
39:12
Fila Alocada Dinamicamente - Linguagem C - Estruturas de Dados
33:24
Pietro Martins De Oliveira
Рет қаралды 17 М.