/* http://native-code.blogspot.com */ #include<stdio.h> #include<conio.h> void input(int*,int); void sort(int*,int) ; int binary_search(int*,int,int) ; void display(int*,int); void main() { int a[20],i,item,n,p; clrscr(); printf("\n enter the no of range"); scanf("%d",&n) ; input(a,n); printf("\n before sorting:"); display(a,n); sort(a,n) ; printf("\n after sorting: "); display(a,n) ; printf("\n enter the item you want to search"); scanf("%d",&item); p=binary_search(a,n,item); if(p==0) printf("searched item is not found"); else printf("\n searched item is found at %d",p); getch(); } /* http://native-code.blogspot.com */ void input(int a[],int lim) { int i; printf("\n enter the no: "); for(i=0;i<lim;i++) scanf("%d",&a[i]); } /* http://native-code.blogspot.com */ void sort(int *a,int lim) { int i,j,t; for(i=0;i<lim-1;i++) { for(j=i+1;j<lim;j++) { if(*(a+i)>*(a+j)) { t=*(a+i) ; *(a+i)=*(a+j); *(a+j)=t; } } } } /* http://native-code.blogspot.com */ void display(int a[],int lim) { int i; for(i=0;i<lim;i++) printf("%d ",a[i]) ; } int binary_search(int *a,int lim,int item) { int beg,end,mid; beg=0; end=lim; mid=(beg+end)/2; while(*(a+mid)!=item && beg<end) { if(item>*(a+mid)) beg=mid+1; else end=mid-1; mid=(beg+end)/2; } return(mid+1); } /* http://native-code.blogspot.com */
Home
» binary-search
» C
» Pointer
» Sorting
» How to implement Binary Search program and sort the given values using pointer?
Post a Comment