A classificação por bolha em C é um algoritmo de classificação simples que compara repetidamente os elementos adjacentes de uma determinada matriz e os troca se estiverem na ordem errada. Você pode estar se perguntando sobre o nome Bubble Sort. A seguir estão as dicas abordadas neste artigo:
- O que é um Bubble Sort em C?
- Algoritmo de Bubble Sort
- Exemplo de classificação por bolha em C
- Função de classificação de bolhas
- Classificação por bolha no programa C
O que é um Bubble Sort em C?
A técnica de classificação é chamada assim porque o algoritmo atua como uma bolha, os elementos mais leves surgem e os elementos mais pesados se acomodam. O algoritmo de classificação por bolha classifica a lista em passagens. Agora, para classificar uma lista com n elementos, a classificação por bolha requer n-1 passes. Para deixar mais claro, vamos entender isso passo a passo.
Algoritmo de Bubble Sort
- Passe 1 :
- X [0] e X [1] são comparados e trocados se X [0]> X [1]
- X [1] e X [2] são comparados e trocados se X [1]> X [2]
- X [2] e X [3] são comparados e trocados se X [2]> X [3] e assim por diante & hellip
- No final da passagem 1, o maior elemento da lista é colocado no índice mais alto da lista.
- Passe 2:
- X [0] e X [1] são comparados e trocados se X [0]> X [1]
- X [1] e X [2] são comparados e trocados se X [1]> X [2]
- X [2] e X [3] são comparados e trocados se X [2]> X [3] e assim por diante & hellip
- No final do Passo 2, o segundo maior elemento da lista é colocado no segundo índice mais alto da lista.
- Passe n-1:
- X [0] e X [1] são comparados e trocados se X [0]> X [1]
- X [1] e X [2] são comparados e trocados se X [1]> X [2]
- X [2] e X [3] são comparados e trocados se X [2]> X [3] e assim por diante & hellip
- No final desta passagem. O menor elemento da lista é colocado no primeiro índice da lista.
Exemplo de classificação por bolha em C
Array: -5, 35, 2, 13, -15
Passe 1
- ( -5, 35 , 2, 13, -15) -> ( -5, 35 , 2, 13, -15), Aqui, o algoritmo compara os dois primeiros elementos.
- (-5, 35, 2 , 13, -15) -> (-5, 2, 35 , 13, -15), Trocar desde 35> 2
- (-5, 2, 35, 13 , -15) -> (-5, 2, 13, 35 , -15), Trocar desde 35> 13
- (-5, 2, 13,35, -15) -> (-5, 2, 13,-15, 35), Trocar desde 35> -15
O último elemento é o maior.
Passe 2
- ( -5, 2 , 13, -15, 35) -> (- 5, 2 , 13, -15, 35)
- (-5, 2, 13, 35, -15) -> (-5, 2, 13 , -15, 35)
- (-5, 2, 13, -15 , 35) -> (-5, 2, -15, 13 , 35), Trocar desde 13> -15
O segundo último elemento é o segundo maior elemento.
programação de socket em exemplo java
Passe 3
- ( -5, 2 , -15, 13, 35) -> ( -5, 2 , -15, 13, 35)
- (-5, 2, -15 , 13, 35) -> (-5, -15, 2 , 13, 35), Trocar desde 2> -15
O terceiro último elemento é o terceiro maior elemento.
Passe 4
- ( -5, -15 , 2, 13, 35) -> ( -15, -5 , 2, 13, 35), Troca desde -5> -15
Eventualmente, o primeiro é o menor & 2 nd é o segundo menor elemento da matriz. Portanto, neste caso, quatro passagens foram necessárias para classificar uma matriz de 5 elementos.
Antes de examinar o algoritmo em detalhes, vejamos a complexidade do tempo do algoritmo Bubble Sort em C.
A complexidade do Bubble Sort
- Pior Caso Complexidade:Em2)
- Melhor caso de complexidade:Em2)
- Complexidade média do caso:Em)
Agora, vamos examinar rapidamente o algoritmo, de modo que, avançando, possamos escrever o algoritmo de classificação Bubble em C.
Função de classificação de bolhas
void bubbleSort (int array [], int n) {int i, j // Passe no Bubble Sort para (i = 0 iClassificação por bolha no programa C
#include // Função para trocar elementos void swap (int * a, int * b) {int temp = * a * a = * b * b = temp} // função de classificação de bolha void bubbleSort (int array [], int n ) {int i, j for (i = 0 i
Agora, depois de executar o programa C acima, você terá entendido como o Bubble Sort funciona e como implementá-lo na linguagem C. Espero que este blog seja informativo e tenha valor agregado para você.
alocação de memória dinâmica em c ++ com programa de exemploConfira o pela Edureka, uma empresa de aprendizagem online confiável com uma rede de mais de 250.000 alunos satisfeitos espalhados por todo o mundo. O curso de certificação e treinamento Java J2EE e SOA da Edureka é projetado para estudantes e profissionais que desejam ser um desenvolvedor Java. O curso foi desenvolvido para dar a você uma vantagem inicial na programação Java e treiná-lo para os conceitos básicos e avançados de Java, juntamente com várias estruturas Java, como Hibernate e Spring.
Tem alguma questão para nós? Mencione isso na seção de comentários deste artigo do Bubble Sort em C e entraremos em contato com você o mais breve possível.