SchultzGames
Para tirar dúvidas, crie um tópico especifico na área "Dúvidas em Geral" e aguarde ser respondido. Evite comentar em tópicos não relacionados a sua dúvida :D
TÓPICOS RECENTES:
Tópico:
Postado em:
Postado por:
Sou novo no FÓRUM
Lance o inventário de objetos
Coletar Objetos que estão na mira
Olá a todos :)
PROBLEMA EM COPIAR SCRIPTS
Controle de câmera em primeira pessoa com um joystick virtual
[RESOLVIDO] Instancia objeto em posições diferentes
Notepad++
Alguem Usa Pagamentos Automaticos do unity Ads Pode Me Ajudar com o Pagamento ?
[TUTORIAL] Sistema COMPLETO de câmeras
[____TÓPICO LIVRE____] FALE O QUE QUISER (Parte 2)
Unity Package Manager Error
[RESOLVIDO] Custom Inspector
Cinemachine
Total de Jogadores Online
[____APOIE O FÓRUM E O CANAL E GANHE RECOMPENSAS____]
[___COMO UTILIZAR O FÓRUM___] Principais botões e suas funções
[RESOLVIDO] Botao Home(Native do Android)
[RESOLVIDO] Resolução Resposiva
[RESOLVIDO] Tilemap Collider
[RESOLVIDO] Arremessar uma granada(2D)
Controle Objetos 3D
[PROJETO MOBILE] Defeat the Illuminatis
Qual a melhor forma de deixar o cabelo low poly animado ?
[AULA] Estrutura de decisão if..else
[____ENQUETE____] Eleições para presidente 2018
Criar jogo de terror
personagem do unity sem animaçao e caindo pra baixo
Ajuda com script C# (delay effect)
Script de health de inimigo sendo acessado mesmo sem acerta o inimigo
Preciso de ajuda em um script para o trabalho do meu estágio.
[Plugin dll] DigData basico save data Para Unity
[TUTORIAL] Como criar um JOGO DE TERROR
[TUTORIAL] Controle 3ª pessoa com animações mecânicas (root motion)
[Em Desenvolvimento] Battles of Worlds
Skybox da unity rosa
Dark blue sword RPG low poly
Atualizado (The Pyramid 1.1.1)
Problema com o Shader (Shader Bloqueado)
Como faço para o player agachar
Erro ao carregar cena salva
[RESOLVIDO] tem como mudar a cor desse fundo de distância azul?
[TUTORIAL] Otimização Simples por distância
Inventário de objetos 2D
video aula videoplayback easy ar /unity
como faz LookAt em 2d
Visual studio nao instala com compatibilidade com a unity :C
[JOGO MOBILE] The Sprinter Maze / Agradecimentos
Carregar video por url remote settings
Montando equipe! [Game survival]
É recomendado fazer cidades fictícias no sketchup?
[TUTORIAL] AI Enemy 2.0 + animações ( Jogos de terror )
Sprite crescer em linha reta como um laser 2D
[RESOLVIDO] Problema para Carregar cena
[RESOLVIDO] Como exportar o modelo sem o seguinte prefab:
[RESOLVIDO] correr character controller
Problema com Wheel Collider
Ajuda na criação de AudioSource
Ambient Occlusion para mobile.
Erro ao instalar o componente da Unity no Visual Studio
[____SUGESTÕES PARA O FÓRUM____]
Camera Estilo Gta (Livre que Volta Sozinha)
O básico do script
[____ADERIR A UMA CATEGORIA NO FÓRUM____]
Precisa-se DE Modelador/Animador Para Um Jogo de RPG Online..
unity - erro ao salvar dados
Duvidas com Json
Artistas 3D e Programadores Unity3D (Remunerado)
[TUTORIAL] Como fazer um laser com LineRenderer - UNITY 5
[TUTORIAL ] Script para Cutscenes
The Pyramid Demo Atualizado
Problemas com Colisores
Como fazer a vida ficar encima do player enquanto ele se move
Camera olhar para player em planeta esférico (estilo Mario Galaxy)
[RESOLVIDO] Ativar um Unico Objeto da Array.
tela preta do unity apos abrir no celular..
Procuro desenvolvedor Google Maps
Destruir Terreno
[TUTORIAL] Inteligência artificial, inimigo e AIPoints
Erro de arquivo CSPROJ na Unity
[RESOLVIDO] Diminuir um número
[RESOLVIDO] String.contains
Command 888
[TUTORIAL] Mover personagem com Touch, no estilo SUBWAY SURFERS
Ajuda com código Raycast2D
[TUTORIAL] Bubble Sort - Algoritmo
touch do android em C# Unity
[TUTORIAL] Gerar números aleatórios SEM REPETIR (método com lista)
[TUTORIAL] Sistema de Lanterna com Pilhas
Dúvida, poupar processador.
Gerador de senha
(ARQUIVO) Leia aqui como obter sucesso com seu jogo independente?
Alguém pode corrigir as roupas do meu personagem? (Modelagem 3D - Pedido)
Dúvida em relação ao Enum
Para quem é fã de The King of Fighters!
Bora entrar no Discord.. Tirando Duvidas Online..
Bugando depois do Build.
[_ASSET_] MS Vehicle System (Vehicle Controller)
[RESOLVIDO] Mudança de GUI para UI?
Hoje à(s) 12:45 am
Hoje à(s) 12:22 am
Hoje à(s) 12:14 am
Hoje à(s) 12:00 am
Ontem à(s) 10:25 pm
Ontem à(s) 10:11 pm
Ontem à(s) 6:24 pm
Ontem à(s) 4:50 pm
Ontem à(s) 4:49 pm
Ontem à(s) 4:47 pm
Ontem à(s) 1:40 pm
Ontem à(s) 11:48 am
Ontem à(s) 12:07 am
Dom Set 23, 2018 9:49 pm
Dom Set 23, 2018 2:18 pm
Dom Set 23, 2018 2:14 pm
Dom Set 23, 2018 2:12 pm
Dom Set 23, 2018 1:30 pm
Dom Set 23, 2018 1:30 pm
Dom Set 23, 2018 12:36 pm
Dom Set 23, 2018 4:16 am
Sab Set 22, 2018 11:42 pm
Sab Set 22, 2018 9:29 pm
Sab Set 22, 2018 9:16 pm
Sab Set 22, 2018 5:14 pm
Sab Set 22, 2018 2:13 pm
Sab Set 22, 2018 8:53 am
Sab Set 22, 2018 1:21 am
Sex Set 21, 2018 5:42 pm
Sex Set 21, 2018 3:40 pm
Sex Set 21, 2018 2:26 pm
Sex Set 21, 2018 1:58 pm
Sex Set 21, 2018 11:41 am
Sex Set 21, 2018 6:58 am
Sex Set 21, 2018 12:11 am
Qui Set 20, 2018 8:23 pm
Qui Set 20, 2018 6:01 pm
Qui Set 20, 2018 12:53 pm
Qua Set 19, 2018 8:10 pm
Qua Set 19, 2018 7:16 pm
Qua Set 19, 2018 7:11 pm
Qua Set 19, 2018 10:51 am
Qua Set 19, 2018 10:23 am
Qua Set 19, 2018 10:21 am
Qua Set 19, 2018 2:14 am
Qua Set 19, 2018 1:17 am
Ter Set 18, 2018 9:01 pm
Ter Set 18, 2018 1:59 pm
Seg Set 17, 2018 7:55 pm
Seg Set 17, 2018 6:46 pm
Seg Set 17, 2018 12:58 pm
Seg Set 17, 2018 12:54 pm
Seg Set 17, 2018 8:18 am
Dom Set 16, 2018 11:15 pm
Dom Set 16, 2018 11:13 pm
Dom Set 16, 2018 4:50 pm
Dom Set 16, 2018 5:13 am
Sab Set 15, 2018 10:06 pm
Sab Set 15, 2018 10:00 pm
Sex Set 14, 2018 8:41 pm
Sex Set 14, 2018 8:37 pm
Sex Set 14, 2018 5:17 pm
Sex Set 14, 2018 2:04 pm
Sex Set 14, 2018 11:10 am
Qui Set 13, 2018 3:36 pm
Qui Set 13, 2018 10:14 am
Qui Set 13, 2018 9:48 am
Qui Set 13, 2018 9:25 am
Qua Set 12, 2018 11:40 pm
Qua Set 12, 2018 6:04 pm
Qua Set 12, 2018 12:57 pm
Qua Set 12, 2018 3:33 am
Qua Set 12, 2018 12:25 am
Ter Set 11, 2018 8:00 pm
Ter Set 11, 2018 4:20 pm
Ter Set 11, 2018 2:52 pm
Ter Set 11, 2018 2:20 pm
Ter Set 11, 2018 12:27 pm
Seg Set 10, 2018 11:10 pm
Seg Set 10, 2018 8:29 pm
Seg Set 10, 2018 7:17 pm
Seg Set 10, 2018 6:47 pm
Seg Set 10, 2018 12:08 pm
Seg Set 10, 2018 9:07 am
Dom Set 09, 2018 11:27 pm
Dom Set 09, 2018 6:58 pm
Dom Set 09, 2018 3:53 am
Sab Set 08, 2018 11:37 pm
Sab Set 08, 2018 11:29 pm
Sab Set 08, 2018 11:23 pm
Sab Set 08, 2018 10:23 pm
Sab Set 08, 2018 6:23 pm
Sab Set 08, 2018 5:07 pm
Sab Set 08, 2018 1:24 pm
Sab Set 08, 2018 1:05 pm
Sab Set 08, 2018 11:40 am
Sab Set 08, 2018 10:40 am
Sab Set 08, 2018 2:12 am
Sex Set 07, 2018 12:47 pm
ffabim
JuR
MarcosSchultz
JuR
francisco barroso
Ezequiel286
QueriaStarMorto
MarcosSchultz
MarcosSchultz
MarcosSchultz
Dom3000
Callyde Jr
speedluk
QueriaStarMorto
NKKF
FelipeSouza11
FelipeSouza11
nofrim
nofrim
Marmota
BananaSmith
MarcosSchultz
dstaroski
TioUV
MayLeone
JohnRambo
Lourenco
MarcosSchultz
PedroSilva
Jmspp
luansantos
FelipeSouza11
francisco barroso
dstaroski
Dom3000
MarcosSchultz
MRX
Callyde Jr
diegopds
MayLeone
Callyde Jr
Daniel Dória
Daniel Dória
Caius
marciosilva
MarcosSchultz
luiz12345
JohnRambo
natanael.olimpio
PedroSilva
Callyde Jr
Callyde Jr
Ezequiel286
Eduardoro39
SuperGamer
JuR
MarcosSchultz
MeverPlays
MeverPlays
MarcosSchultz
MarcosSchultz
dstaroski
dstaroski
JohnRambo
fecirineu
igorobm
igorobm
igorobm
Eduardoro39
NKKF
Callyde Jr
MarcosSchultz
MarcosSchultz
MarcosSchultz
nicolasfive
natanael.olimpio
natanael.olimpio
INKnight
FuncaoFF
dstaroski
QueriaStarMorto
NyanHeavyBR
Callyde Jr
FabioBRPA
MarcosSchultz
NKKF
niao
MarcosSchultz
MarcosSchultz
MarcosSchultz
Flávio
Joab Artes Gráficas
vitorhugo
Callyde Jr
Callyde Jr
fecirineu
FeLotus
MarcosSchultz
Callyde Jr

[TUTORIAL] Bubble Sort - Algoritmo

Ir em baixo

TUTORIAL [TUTORIAL] Bubble Sort - Algoritmo

Mensagem por MayLeone em Sab Set 08, 2018 5:10 pm


Você já ouvir falar sobre a técnica Bubble Sort

Bubble Sort (ou ordenação em bolha) é um algoritmo de ordenação numérica que consiste em reorganizar os valores de uma coleção (normalmente arrays) de forma que os mesmos sejam reposicionados em ordem decrescente de acordo com o índice da coleção.
Em linguagens de programação como o C# por exemplo, temos funções de ordenação através de LINQ, assim como é feito com dados de tabelas em SQL (vide função OrderBy), mas não deixa de ser interessante estudar este algoritmo de ordenação para fins didáticos e treinar a lógica, mesmo porque, conhecer novos algoritmos e técnicas, nunca é demais.

Como funciona?

O algoritmo consiste em apenas ''trocar'' os valores de um array, de forma que os maiores valores ocupem os primeiros índices, fazendo com que os menores, obviamente, vão ficando por último na indexação.
Graficamente falando, podemos ter como exemplo a seguinte situação (um array de inteiros):



Veja que ao final do processo o array está devidamente ordenado de forma decrescente, assim o maior valor ocupa o primeiro índice, e o menor valor ocupa o último índice da coleção.

Em programação:

Para realizar essa "troca" de valores dentro do array, primeiramente precisamos criar um laço de repetição que percorra toda a coleção, e a validação a ser feita dentro deste laço deve ocorrer sempre entre o elemento atual do laço e o elemento do índice sucessor, como foi feito no exemplo gráfico, onde trocamos os elementos sucessores se estes forem maiores que o elemento anterior.
Para realizar essa validação, deve ser criado outro laço de repetição que tenha um limite menor que o tamanho do array atual, assim evitamos que seja extrapolado o último elemento, ao verificar seu sucessor, que na verdade não há.
Quando se é verificado que o sucessor no array é maior que seu antecessor, realize-se a 'troca', ou seja, o maior valor passa a ocupar o índice de seu antecessor e o menor valor vai para o índice de seu sucessor. Para tal, basta criar uma variável temporária que armazene o valor do elemento do índice atual (para que ele não se perca), e o índice atual recebe o valor de seu sucessor, e o sucessor receba o valor da variável temporária.

Exemplo em C++



Exemplo em C#


Veja que através do output do array podemos visualizar como a coleção ficou ordenada de forma decrescente:


Claro que se você quiser ordenar o array em ordem crescente, basta trocar o sinal da validação do menor (<) para maior (>):

 (saída em output do array em ordem crescente)


Os exemplos neste artigo foram feitos nas linguagens em C++ e C#, mas qualquer linguagem de programação que suporte arrays pode realizar a técnica do Bubble Sort.
avatar
MayLeone
ProgramadorMaster

Feminino PONTOS : 413
REPUTAÇÃO : 139
Áreas de atuação : Unity, Rpg Maker, Scratch, C#, C++, HTML, CSS, JS, MySQL, Blender
Respeito as regras :

Ver perfil do usuário http://compilemosfacil.blogspot.com.br

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Bubble Sort - Algoritmo

Mensagem por NKKF em Sab Set 08, 2018 5:25 pm

May, sempre tive essa dúvida: Como eu encontro quantos valores há em uma Array em C++?
avatar
NKKF
ProgramadorMaster

Masculino PONTOS : 1951
REPUTAÇÃO : 402
Idade : 13
Áreas de atuação : Error 404 Not Found.
Respeito as regras :

Ver perfil do usuário http://www.projetounity.esy.es

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Bubble Sort - Algoritmo

Mensagem por Nalfam em Sab Set 08, 2018 7:11 pm

Interessante...
Com isso posso enumerar itens de um inventário para deixá-lo em ordem alfabética, certo?
avatar
Nalfam
Membro
Membro

Masculino PONTOS : 136
REPUTAÇÃO : 21
Áreas de atuação : Unity
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Bubble Sort - Algoritmo

Mensagem por MarcosSchultz em Sab Set 08, 2018 11:35 pm

@Nalfam escreveu:Interessante...
Com isso posso enumerar itens de um inventário para deixá-lo em ordem alfabética, certo?

Da, mas acredito eu que em C# já exista algum método pronto para ordenar strings em ordem alfabética.

Fiz um tutorial sobre esse algoritmo que a May postou a um booom tempo atrás:

Link, caso interesse a alguém :D
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 60922
REPUTAÇÃO : 2023
Idade : 22
Áreas de atuação : Administrador do fórum
Respeito as regras :

Ver perfil do usuário http://www.schultzgames.com

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Bubble Sort - Algoritmo

Mensagem por Nalfam em Dom Set 09, 2018 12:10 am

@MarcosSchultz escreveu:
@Nalfam escreveu:Interessante...
Com isso posso enumerar itens de um inventário para deixá-lo em ordem alfabética, certo?

Da, mas acredito eu que em C# já exista algum método pronto para ordenar strings em ordem alfabética.

Fiz um tutorial sobre esse algoritmo que a May postou a um booom tempo atrás:

Link, caso interesse a alguém :D
Nossa! Muito interessante mesmo!!
Apesar de ser o mesmo algoritmo, é sempre bom ver outras explicações.
avatar
Nalfam
Membro
Membro

Masculino PONTOS : 136
REPUTAÇÃO : 21
Áreas de atuação : Unity
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Bubble Sort - Algoritmo

Mensagem por MayLeone em Dom Set 09, 2018 2:12 pm

@NKKF escreveu:May, sempre tive essa dúvida: Como eu encontro quantos valores há em uma Array em C++?
Bom, pra obter o tamanho do array em cpp igual a gente faz em C# (como o ''.Length''), vc precisa utilizar o operador sizeof e dividir pelo ponteiro do sizeof do array, assim:

Código:
int myVector[10];
int length = sizeof(myVector)/sizeof(*myVector);

O retorno de 'length' nesse exemplo vai ser 10.
Pra usar no laço de repetição igual fazemos no C#, basta fazer assim, por exemplo:

Código:
#include <iostream>

int main()
{
  int a[5] = {1, 2, 3, 4, 5};
  int arrayLength = sizeof(a)/sizeof(*a);
  for (int i = 0; i < arrayLength; i++){
      std:: cout << a[i] << std:: endl;
      }
     
      return 0;
}


@Nalfam:
Como disse o Marcos, existem formas alternativas para ordenação alfabética, mesmo porque o Bubble Sort é útil para ordenação numérica.
No caso de uma ordenação alfabética, recomendo que utilize a biblioteca LINQ que tem várias funções de ordenação, muito parecidas com o que temos em SQL.
Um artigo interessante sobre LINQ, eu recomendo este aqui: https://www.devmedia.com.br/introducao-ao-linq/22769
avatar
MayLeone
ProgramadorMaster

Feminino PONTOS : 413
REPUTAÇÃO : 139
Áreas de atuação : Unity, Rpg Maker, Scratch, C#, C++, HTML, CSS, JS, MySQL, Blender
Respeito as regras :

Ver perfil do usuário http://compilemosfacil.blogspot.com.br

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Bubble Sort - Algoritmo

Mensagem por NKKF em Dom Set 09, 2018 6:58 pm

Obrigado.
avatar
NKKF
ProgramadorMaster

Masculino PONTOS : 1951
REPUTAÇÃO : 402
Idade : 13
Áreas de atuação : Error 404 Not Found.
Respeito as regras :

Ver perfil do usuário http://www.projetounity.esy.es

Voltar ao Topo Ir em baixo

Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum