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: 1784 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: #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}; 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: #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){ |
![]() |
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 |