Professional Documents
Culture Documents
#include<stdio.h>
int FirstMissing(int array[],int start,int end)
{
if(start>end)
return end+1;
if(start!=array[start])
return start;
int mid=(start+end)/2;
if(array[mid]==mid)
return FirstMissing(array,mid+1,end);
return FirstMissing(array,start,mid);
}
int main()
{
int arr[]={0,1,2,6,9};
int n=sizeof(arr)/sizeof(arr[0]);
printf("Smallest missing element is %d",FirstMissing(arr,0,n-1));
return 0;
}
Output:
Smallest missing element is 3