Pular para o conteúdo principal

A ORDENAÇÃO BOLHA - BUBBLE SORT - LINGUAGEM C

Afinal, o que é ordenação em linguagem  C?

Em C, ordenação é o processo de arranjar um conjunto de informações semelhantes numa ordem crescente ou decrescente. 

A linguagem C possui vários algoritmos de ordenação como :
  • Bolha ou Bubble Sort – Troca simples.
  • Shake sort – Troca alternada;
  • Shell sort;
  • Heapsort – Árvore;
  • Quicksort, etc.
A ordenação Bolha - Bubble Sort

O algoritmo ou método de ordenação Bubble sort percorre o vetor diversas vezes de maneira sequencial (passos), e a cada passagem compara cada elemento do vetor com o seu sucessor (elemento[índice] com elemento[índice+1]) e troca o conteúdo das posições em análise, caso não estejam ordenados da maneira esperada.

 Exemplo:

Aqui está o código-fonte para entendermos como funciona o algoritmo de ordenação Bubble sort. O programa foi compilado e executado com sucesso usando o compilador Dev C++, no ambiente Windows. 

#include<stdio.h>
#include<string.h>

void bolha(char *item, int total_elem{
int a,b;
char t;

for(a=1;a<total_elem;++a)
for(b=total_elem-1;b>=a;--b)
  {
    if(item[b-1]>item[b])
      {
        /* se item[b-1]>item[b] troca os elementos*/
  t=item[b-1];
       item[b-1]=item[b];
  item[b]=t;
     } //fim do if
 } //fim do for

 }//fim da função void bolha
int main()
{
 char letras[80];
 printf("Digite as letras para ordenar: \n");
 gets(letras);
 bolha(letras,strlen(letras));
 printf(" Letras ordenadas : %s",letras);

return 0;
}

No código anterior, item é um ponteiro para um vetor de caracteres(String) e total_elem é o número de elementos da matriz. A ordenação bolha é dirigida por dois laços. Dado que existem total_elem elementos na String, o laço mais externo( o primeiro for) faz a String ser varrida total_elem-1 vezes. Isso garante que , na pior hipótese, todo elemento estará na posição correta quando a função terminar. O laço mais interno(o segundo for) faz as comparações e as trocas.



























Depois de executar código acima, digitei ihfg e o algoritmo fez as devidas trocas. A forma como funciona a ordenação - troca ou ordenação bolha é mostrado abaixo:

No início     i h f g
1º passo    f i h g
2º passo    f g i h
3º passo    f g h i

O método de ordenação bolha é um método muito simples de ordenação. Porém, seu desempenho é muito ruim. Quanto maior o vetor a ser ordenado por ele, pior será seu desempenho. 

Comentários

Postagens mais visitadas deste blog

Exercícios resolvidos em Linguagem Python - para iniciantes

Esta lista de exercícios resolvidos é um manual para ajudar todo aluno iniciante e não só, a adquirir e aprimorar as habilidades necessárias para se trabalhar com Python, de forma rápida e consistente. Estude e desfrute do conteúdo. 1º Exercício      Faça um programa que informe a versão do Python que você está utilizando Solução import sys print ( "Versão do Python" ) print (sys.version) print ( "Informação da versão instalada" ) print (sys.version_info) Atenção :     -  O módulo sys fornece funções e variáveis usadas para manipular diferentes partes do ambiente de tempo de execução do Python;     - Pra quem ainda não está familiarizado com a linguagem, um módulo  é um arquivo contendo definições e comandos em Python para serem usados em outros programas. 2º Exercício      Faça um programa em linguagem Python que converta metros para centímetros. Solução print ( ' \t ----Conversão de medida---- ' ) metros = int ( in...

Como abrir uma página da web utilizando Python?

Simples, você pode abrir páginas da Web de forma rápida, segura e fácil. Veja só, durante os estudos das bibliotecas padrão do Python descobri que para abrir um navegador web a partir de um script, devo importar o módulo webbrowser. Em seguida, usar webbrowser.open () que vai receber o link que quero abrir como argumento e executar o serviço, ou seja, basta inserir um endereço do youtube nele, na verdade pode ser qualquer link que você desejar. Exemplo webbrowser.open( "https://www.huicode.com.br/p/exercicios-resolvidos-de-linguagem-c.html" ) Para funcionar temos que importar o módulo webbrowser, que vai ser a maneira de dizer ao python que queremos usar webbrowser e todas as suas funcionalidades no programa. import webbrowser webbrowser.open( "https://www.huicode.com.br/p/exercicios-resolvidos-de-linguagem-c.html" ) Funcionooou, uhuhu. Nem parece, mas o módulo webbrowser é um módulo muito empregado em projetos de sites de filmes. Tem muitas utilidades, acredite.

Lista de exercícios resolvidos de Linguagem Python

  Neste artigo, temos diversos exercícios básicos, exercícios utilizando   if - else , exercícios utilizando o   for  e   while  e exercícios utilizando as funções   lambda  e   map . Parte I - Exercícios básicos  (Estruturas sequenciais) Exercício 01 Desenvolva um programa que peça dois números e imprima a soma. Solução #criar as variáveis que vão receber a entrada dos números num1 = int ( input ( "Digite o 1º numero: " )) num2 = int ( input ( "Digite o 2º numero: " )) #calcular a soma soma = num1 + num2 # Mostrar o resultado na tela print ( f "A soma entre { num1 } e { num2 } é = { soma } " ) Ao executar o script , teremos como saída: Exercício 02 Faça um programa que converta metros para centímetros. Solução Um metro corresponde a 100 centímetros. Portanto: #criar a variável que vai receber a entrada do valor metros = float ( input ( "Digite o valor em metros: " )) #calculando a medida centimetros = metros * 100 # Most...