Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
Linux: Metasys Classmate
Por Gedimar
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha



Scripts

Linux user

Publicado por Enzo de Brito Ferber em 31/05/2008    [ 6631 hits ]

Login: EnzoFerber, 350045 pontos

Homepage: http://www.lapdm.com.br/   


Descrição

Este programa ilustra o algoritmo de pesquisa binária, que é o algoritmo de pesquisa mais rápido para dados ordenados (crescente / decrescente).

Espero que ajude alguém algum dia ;)


[ Download: binsearch.c ]   [ Enviar nova versão ]

[ Esconder código-fonte ]

// binsearch.c

#include <stdio.h>
#include <stdlib.h>

int bin_search (int *vet, int info, int size)
{
   int low=0, mid, high=(size - 1);

   while (low <= high)
   {
      mid = (low + high) / 2;
      if (vet[mid] == info) return mid;
      if (vet[mid]  > info) high = mid - 1;
      if (vet[mid]  < info) low  = mid + 1;
   }

   return (-1);
}

int main (int argc, char **argv)
{
   int info, i;
   int *vet;

   if (argc < 3)
   {
      printf("Uso: %s <tamanho_vetor> <info>\n", argv[0]);
      return 0;
   }

   // argv[1] >> tamanho do vetor
   // argv[2] >> informacao procurada no vetor
   
   vet  = (int*) malloc ( atoi(argv[1]) * sizeof(int));
   info = atoi(argv[2]);

   for (i = 0; i < atoi(argv[1]); i++) *(vet+i) = (i + 1);

   printf("Posicao de %d: %d\n", info, bin_search(vet, info, atoi(argv[1]) ));

   return 0;
}


Scripts recomendados
   Script Linux recomendado Pilhas em C
   Script Linux recomendado seu segundo programa em C
   Script Linux recomendado Calcular expressões aritméticas com 2 termos
   Script Linux recomendado Numero por extenso em c
   Script Linux recomendado entendendo o return...

Comentários
Nenhum comentário foi encontrado.

Contribuir com comentário


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.