Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
#include <iostream> using namespace std; int main(){ int tamanho; cin >> tamanho; int vet[tamanho]; for (int i = 0; i < tamanho; i++) { cin >> vet[i]; } int elemento; cin >> elemento; int inicio = 0; int meio; int fim = tamanho-1; int posicao =-1; while (inicio <= fim) { meio = ((inicio+fim)/2); if (elemento == vet[meio]) { posicao = meio; inicio = fim+1;// fim do programa; } else { // Busca Binária de ordem crescente para fazer a busca em ordem decresente troque o operador < para o operador >. if (elemento < vet[meio])// elemento está entre o inicio e o meio. { inicio = meio+1; } else // elemento está entre o meio e o fim. { fim = meio-1; } } } cout << posicao; return 0; }
Compartilhar