Contoh Ke - 2 Penggunaan Searching

#include<iostream>
#include<conio.h>
using namespace std;
int binary_search(int[],int,int);
main()
{
    const int array_size=10;
    int array[array_size]={0,6,9,12,20,23,29,32,47,79};
    cout<<"isi dari array adalah : "<<endl;
    cout<<"\nArray:"<<"\t\t        Data:"<<endl;
    for(int count=0;count<array_size;count++)
    {
        cout<<"\t"<<"array["<<count<<"]"<<"\t\t ";
        cout<<array[count]<<endl;
    }
    int searching_element=0;
    int flag=0;
    cout<<"\n\n masukan data yang anda cari = ";
    cin>>searching_element;
    flag=binary_search(array,array_size,searching_element);
    if(flag !=-1)
        cout<<"\nData tersebut ditemukan pada posisi:array["<<flag<<"]";
    else
        cout<<"\nData tersebut tidak ditemukan" ;
    getch();
    return 0;
}

int binary_search(int array[],int array_size,int element)
{
    int start=0;
    int end=array_size-1;
    int middle;
    int position=-1;
    middle=(start+end)/2;
    do
    {
        if(element<array[middle])
            end=middle-1;
        else if(element>array[middle])
        start=middle+1;
        middle=(start+end)/2;
    }
    while(start<=end&&array[middle]!=element);
    if(array [middle]==element)
        position=middle;
    return position;
}

Tugas Akhir Halaman 63  -> Tugas Akhir Pertemuan 13

No comments:

Post a Comment