Algoritmo de ordenação: Bubble Sort
Publicado por mfs (última atualização em 12/04/2010)
[ Hits: 41.999 ]
Este algoritmo ordena um vetor de uma quantidade de números pré-determinada. O diferencial é que ele não utiliza ponteiros para a passagem de parâmetros, pois ponteiros é um pouco complicado para iniciantes.
A utilização é simples, digite o número máximo de algarismos e depois digite os algarismos fora de ordem, a função vai ordena-los e imprimi-los em ordem.
Para compilar com o gcc é simples:
$ gcc -c bubble_sort.c
$ gcc -o bubble_sort bubble_sort.o
$ ./bubble_sort
Qualquer dúvida em relação ao código e só deixar um comentário que eu explico.
Abraços.
/* Algoritmo de ordenação Bubble Sort */
#include <stdio.h>
/* Definição da função bubble_sort */
void bubble_sort (int vet[], int max) {
int flag, i, aux;
do {
flag = 0;
for (i = 0; i < (max - 1); i++) {
/* Verfica se o vetor está em ordem, no caso ele coloca em ordem crescente, para decrescente trocar '>' por '<' */
if (vet[i] > vet[i+1]) {
/* Caso não esteja, ordena */
aux = vet[i];
vet[i] = vet[i+1];
vet[i+1] = aux;
flag =1;
}
}
/* Repete enquanto algum valor estiver fora de ordem */
} while (flag == 1);
/* Imprime o vetor ordenado em ordem crescente */
for (i = 0; i < max; i++) {
printf ("%d ",vet[i]);
}
printf ("\n");
}
main () {
int max, i;
/* Lê o total de números do vetor */
scanf ("%d", &max);
/* Define o vetor com o número max de algarismos */
int vetor[max];
for (i = 0; i < max; i++) {
/* Lê cada indice do vetor */
scanf ("%d",&vetor[i]);
}
/* Dentro dessa função o vetor será ordenado */
bubble_sort (vetor, max);
}
Como Ativar a Aceleração por GPU (ROCm) no Ollama para AMD Navi 10 (RX 5700 XT / 5600) no Gentoo
Como criar um make.conf no Gentoo (para iniciantes)
Como instalar o Open WebUI para Ollama no Gentoo (com systemd)
INSTALAR (e jogar) COUNTER STRIKE 1.6 (install cs 1.6) NO LINUX
Removendo o bloqueio por erros de senha no Gentoo (systemd)
Papel de Parede Animado no KDE Plasma 6 (Com dicas para Gentoo)
Homebrew: o gerenciador de pacotes que faltava para o Linux!
Removendo a trava de versão do Project Brutality para GZDoom/UZDoom
Acelere a compilação no Gentoo com distcc (guia para Systemd)









