Searching ARRAY
Sequential Search
#include <stdio.h>
#include <stdlib.h>
int main () {
int nilai[] = {50, 70, 45, 80, 95, 72, 85};
int jumlahArray = sizeof (nilai) / sizeof(int);
int cari;
bool isKetemu = false;
printf ("Masukkan nilai yang ingin Anda cari ; "); scanf("%i", &cari);
for (int index = 0; index < jumlahArray; index++) {
if (nilai[index] == cari) {
isKetemu = true;
break;
}
}
if (isKetemu) {
printf ("\Data yang Anda cari ditemukan pada index ke-%i.\n\n", index);
} else {
printf ("\nData yang Anda cari tidak ditemukan.\n\n");
}
system ("pause");
return 0;
}
Sequential Search dalam bentuk Fungsi
#include <stdio.h>
#include <stdlib.h>
int cariData (int nilai[], int jumlahArray, int cari);
int main () {
int nilai[] = {50, 70, 45, 80, 95, 72, 85};
int jumlahArray = sizeof (nilai) / sizeof(int);
int cari;
bool isKetemu = false;
printf ("Masukkan nilai yang ingin Anda cari ; "); scanf("%i", &cari);
int index = cariData (nilai, jumlahArray, cari);
if (index >= 0) {
printf ("\Data yang Anda cari ditemukan pada index ke-%i.\n\n", index);
} else {
printf ("\nData yang Anda cari tidak ditemukan.\n\n");
}
system ("pause");
return 0;
}
int cariData (int nilai[], int jumlahArray, int cari) {
for (int index = 0; index < jumlahArray; index++) {
if (nilai[index] == cari) {
return index;
}
}
return -1;
}
Binary Seach
#include <stdio.h>
#include <stdlib.h>
int cariData (int nilai[], int jumlahArray, int cari);
int main () {
int nilai[] = {2, 8, 11, 15, 19, 21, 33, 45, 63, 90};
int jumlahArray = sizeof (nilai) / sizeof(int);
int cari = 0, index = 0, depan = 0, tengah = 0;
int belakang = jumlahArray - 1;
printf ("Masukkan nilai yang ingin Anda cari ; "); scanf("%i", &cari);
while ( belakang >= depan ){
tengah = (depan + belajang) / 2;
if ( cari < nilai[tengah]) {
belakang = tengah - 1;
} else if ( cari > nilai[tengah]) {
depan = tengah + 1;
} else {
index = tengah;
depan = belakang + 1;
}
}
printf ("\n");
if (index >= 0) {
printf ("\Data yang Anda cari ditemukan pada index ke-%i.\n\n", index);
} else {
printf ("\nData yang Anda cari tidak ditemukan.\n\n");
}
system ("pause");
return 0;
}
Tidak ada komentar:
Posting Komentar