Nama fungsi : lsearch
File tajuk : <stdlib.h>
Prototipe fungsi : void* lsearch(void* key,void* distrik,size_t *n,size_t m,
int (*fungsi)(const batal*,konstan batal*));
Fungsi : Digunakan untuk melakukan pencarian linier dari awal sampai akhir dalam suatu area tertentu
Parameter : void* penunjuk kunci ke kata kunci yang akan ditemukan
void* distrik menunjuk ke alamat awal area yang akan dicari
size_t *n Temukan jumlah elemen luas
size_t m menemukan ukuran setiap elemen dalam rentang tersebut
int (*func)(const void*,const void*) Penunjuk ke suatu fungsi.
Nilai kembalian : Jika data kunci ditemukan di area pencarian, alamat elemen yang ditemukan dikembalikan;
Jika data yang dicari tidak ada dalam area pencarian, tambahkan ke area pencarian, lalu kembalikan alamat yang ditambahkan;
Contoh program : Gunakan fungsi ini untuk mencari elemen 27 secara linear dalam array a dan menambahkan elemen baru ke dalam array
#include<stdio.h>#include<stdlib.h>typedefint(*fc)(constvoid*,constvoid*);intcompare(constvoid*p1,constvoid*p2){//Bandingkan ukuran dua angka int*pi1= (int*)p1;int*pi2=(int*)p2;return(*pi1-*pi2);}intmain(void){intarr [5]={25,14,29,68,55};size_tn=5;intkey=27;fcf=bandingkan;int*result=(int*)lsearch(&key,arr,&n,sizeof( int),f);if(hasil){printf(Jumlah% ditemukann,kunci);}else{printf(Jumlah%tidak ditemukann,kunci);}return0;}
Hasil berjalan
Nomor 27 ditemukan