#include <stdio.h>
//Algoritmo de Pesquisa Binaria e Bubble Sort.
//Bubble Sort faz a ordenação do vetor para que a pesquisa
//seja bem sucedida, pois ela se baseia no valor e se ele é maior
//ou menor para delimitar sua area de busca.
void bubble_sort(int[], int);
int busca_binaria(int, int, int[]);
int main(){
int vetor[5] = {4, 2, 3, 5, 1};
int indice;
bubble_sort(vetor, 5);
indice = busca_binaria(5, 5, vetor);
printf("O numero 5 esta no indice: %i\n", indice);
return 0;
}
//Função do Metodo da Bolha para Ordenação
//Ela consiste em Verificar par a par, cada menbro do vetor
//Colocando o menor no inicio e o maior no fim.
void bubble_sort(int vet[], int tam){
int i, j, aux;
for(i = 0; i < tam -1 ; i++){
for(j = i +1; j < tam ; j++){
if(vet[i] > vet[j]){
aux = vet[i];
vet[i] = vet[j];
vet[j] = aux;
}
}
}
}
//Funçao da Busca Binaria, para localizar dentro do vetor um elemento.
//Ela consiste em verificar se o indice do meio é o elemento procurado
//Caso nao, ela delimita se o do meio é maior ou menor que o procurado
//E segue para o lado em que ele se encontra, novamente dividindo ao meio
//E o processo se repete ate o encontrar.
int busca_binaria(int num, int tam, int vet[]){
int inicio = 0, fim = tam -1, meio;
while(inicio <= fim){
meio = (inicio + fim) / 2;
if(vet[meio] == num)
return meio;
if(vet[meio] < num)
inicio = meio + 1;
else
fim = meio -1;
}
return -1;
}Blog dedicado a Programação em C e outras linguagens. E divulgação de códigos.
quinta-feira, 2 de junho de 2016
Bubble Sort e Busca Binaria
Dois algoritmos que iram abrir possibilidades para bons assuntos em Estrutura de Dados.
Assinar:
Comentários (Atom)