![]() |
|
||||
Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica. |
|||||
Você está aqui: C ::: Dicas & Truques ::: Ordenação e Pesquisa (Busca) |
Como usar pesquisa ou busca linear ou sequencial nos elementos de um vetor na linguagem CQuantidade de visualizações: 1969 vezes |
|
A busca linear ou sequencial, muitas vezes chamada de pesquisa linear ou sequencial, é geralmente implementada por meio de um algorítmo que varre os elementos de um coleção sequencial, começando do primeiro elemento e indo até o último. Esta busca não é tão usada quando a pesquisa binária ou hashing, por ser considerada muito lenta quando aplicada a um conjunto de dados muito grande. A busca linear ou sequencial em um vetor C pode ser descrito pelos seguintes passos: 1) Efetua a varredura dos elementos do vetor. 2) Compara o valor do elemento atual do vetor com o valor sendo pesquisado. 3) Se o valor for encontrado, efetue o procedimento desejado com o elemento do vetor. 4) Se a varredura alcançar o último elemento do vetor e o valor pesquisado não for encontrado, exiba uma mensagem de erro ou algum outro procedimento para alertar o usuário do programa. Veja um exemplo no qual declaramos e preenchemos um vetor de inteiros com 5 elementos e em seguida usamos uma função pesquisa_linear para verificar se um determinado valor existe no vetor: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
#include <stdio.h>
#include <stdlib.h>
// método que permite efetuar a busca linear em um vetor
int pesquisa_linear(int vetor[], int tam, int valor){
// percorre os elementos do vetor
int i;
for(i = 0; i < tam; i++){
// o valor foi encontrado?
if(vetor[i] == valor){
return i;
}
}
// não foi encontrado? vamos retornar -1
return -1;
}
int main(int argc, char *argv[]) {
// vamos criar um vetor de 5 elementos int
int valores[] = {32, 7, 21, 4, 90};
// vamos pesquisar o valor 21
int valor = 21;
// vamos verifiar se o valor está no vetor
int indice = pesquisa_linear(valores, 5, valor);
if(indice > -1){
printf("O valor foi encontrado no índice: %d\n\n", indice);
}
else{
printf("O valor não foi encontrado.\n\n");
}
system("pause");
return 0;
}
Ao executarmos este código nós teremos o seguinte resultado: O valor foi encontrado no índice: 2 Pressione qualquer tecla para continuar... Veja o mesmo código sem usar um método adicional, ou seja, a busca linear é feito dentro do método main() do programa C: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {
// vamos criar um vetor de 5 elementos int
int valores[] = {32, 7, 21, 4, 90};
// vamos pesquisar o valor 21
int valor = 21;
// vamos verifiar se o valor está no vetor
int indice = -1; // não foi encontrado
// percorre os elementos do vetor
int i;
for(i = 0; i < 5; i++){
// o valor foi encontrado?
if(valores[i] == valor){
indice = i;
break;
}
}
if(indice > -1){
printf("O valor foi encontrado no índice: %d\n\n", indice);
}
else{
printf("O valor não foi encontrado.\n\n");
}
system("pause");
return 0;
}
|
|
|
Desafios, Exercícios e Algoritmos Resolvidos de C |
Veja mais Dicas e truques de C |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





