Contoh Program C - #12 Binary Search


 #include<stdio.h>  
 int a,b,N,temporary,find;  
 int array[100];  
 void sort();  
 void search();  
 main()  
 {  
      printf("\n\nNama : Timothy Kawulusan \nNIM : 1101164456\n\n");  
      printf("-----------------------------------------------\n");  
      printf("Input Banyak Data awal : "); scanf("%d",&N);  
      sort();  
      printf("Cari angka berapa ? : "); scanf("%d",&find);  
      search();  
 }  
 void sort()  
 {  
      for (a=0;a<=N-1;a++)  
           {  
           printf("Input ke-%d : ",a+1);  
           scanf("%d",&array[a]);  
           }  
      for (a=0;a<=N-1;a++)  
      {  
           temporary=array[a];  
           b=a;  
           while ((b>0) && (temporary<array[b-1]))  
           {  
           array[b]=array[b-1];  
           b--;  
      }  
      array[b]=temporary;  
      }  
 }  
 void search()  
 {  
      int bawah,atas,tengah,indeks;  
      bawah=1;  
      atas=N;  
      indeks=0;  
      while ((bawah<=atas) && (indeks==0))  
           {  
           tengah=(atas+bawah)/2;  
           if (array[tengah]==find)  
                indeks=tengah;  
           else   
                if (array[tengah]<find)  
                bawah=tengah+1;  
                else   
                atas=tengah-1;  
           }  
      if (indeks!=0)  
      printf("Angka %d ditemukan pada indeks %d",find,indeks+1);  
      else   
      printf("Tidak ketemu!");  
 }  

Komentar

Postingan populer dari blog ini

Kegunaan Sensus Penduduk