pada aray biner, berbeda dengan array linear yg terdapat pada judul blog sebelumnya. Yang mana, pada array biner ini, pada saat kita ingin mencari data, dia bakalan mengurutkan data itu dahulu, baru kita dapat mencari data yg kita mau terdapat pada indeks ke berapa.
langsung saja ke program nya ya.....
#include <iostream>
using namespace std;
int pencarianbiner(int arr[],int kunci,int low, int high){
bool ketemu;
int middle;
ketemu=false;
while(low<=high && !ketemu){
middle=(low+high)/2;
if(kunci == arr[middle]){
ketemu=true;
}
else if(kunci<arr[middle]){
high=middle-1;
}
else{
low=middle+1;
}
}
if(ketemu){
return middle;
}
else {
return -1;
}
}
void bubblesort(int l[], int n){
int k=n;
int temp;
for(k-1;k>=1;k--){
for(int i =0;i<=k-2;i++){
if (l[i]>l[i+1]){
temp=l[i];
l[i]=l[i+1];
l[i+1]=temp;
}
}
}
}
void tampilsebelum(int i[],int n){
cout<<"isi Array Sebelum diurutkan = ";
for(int a=0;a<n;a++){
cout<<i[a]<<", ";
}
cout<<endl;
}
void tampilsesudah(int i[],int n){
cout<<"isi Array Sesudah diurutkan = ";
for(int a=0;a<n;a++){
cout<<i[a]<<", ";
}
cout<<endl;
}
main(){
int arr[]={4,45,6,7},cari;
tampilsebelum(arr,4);
bubblesort(arr,4);
tampilsesudah(arr,4);
cout<<"Masukan Data yang ingin dicari = ";cin>>cari;
int indexawal=0;
int indexakhir=3;
int hasilpencarian;
hasilpencarian=pencarianbiner(arr,cari,indexawal,indexakhir);
if(hasilpencarian==-1){
cout<<"Angka Yang Anda Cari Tidak Ketemu"<<endl;
}
else {
cout<<"Angka yang anda cari ketemu di index ke = "<<hasilpencarian+1<<endl;
}
}
Langganan:
Posting Komentar (Atom)
Mencari Data
program c++ mencari data yg terdapat pada indeks ke-, dengan metode aray linear. #include<iostream> #include<conio.h> using na...
-
Menghitung Volume Bola Dan Kubus Assalamu'alaikum Wr,Wb Dalam blog ini saya akan memberikan cara bagaimana menghitung volume ...
-
Pada saat kita ingin berolahraga, langkah apa saja yang akan kita lakukan?? Persiapan olahraga : Siapkan baju dan celana khusus o...
-
Komponen Dasar Komputer dan Fungsinya Apa itu komputer ? Istilah komputer sendiri diambil dari bahasa asing ( Inggris ) yaitu to com...
Tidak ada komentar:
Posting Komentar