Nayak
BAN USERint PerfectSquareOrNot(int number)
{
int high = number/2;
int low = 0;
while(high>=low)
{
int mid = (low + high)/2;
int square = mid * mid;
if(square==number)
{
return mid;
}
if(square > number)
{
high = mid-1;
}
else
{
low = mid+1;
}
}
return 0;
}
//Binary search... O(log n)
#include<stdio.h>
main()
{
int a[100],i;
static int last = 0,first = 0,qptr;
int max = 0,ch,element;
while(ch != 5)
{
printf("enter the choice : 1.insert, 2.delete, 3.print, 4.max, 5.exit:");
scanf("%d",&ch);
switch(ch)
{
case 1:
printf("Enter the element to insert:");
scanf("%d",&element);
a[last] = element;
if(max < element)
{
qptr = last;
max = a[qptr];
}
printf("qptr = %d\n",qptr);
last++;
break;
case 2:
if(first == last)
{
printf("Que is Empty\n");
break;
}
else
{
first = first+1;
if(first > qptr)
{
qptr++;
max = a[qptr];
}
}
break;
case 3:
if(first == last)
{
printf("Que is Empty\n");
break;
}
else
{
for(i=first;i<last;i++)
printf("%d ",a[i]);
printf("\n");
}
break;
case 4:
if(first == last)
{
printf("Que is Empty\n");
break;
}
else
printf("max = %d\n",max);
break;
case 5:
break;
}
}
}
int function(int a[],int size,int key)
- Nayak November 21, 2012{
int mid,first=0,last = size-1,index;
mid = (first+last)/2;
while(first < last)
{
if(a[mid] == key)
{
while(mid < last)
{
if(a[mid] == key)
{
index = mid;
mid++;
}
else
return index;
}
}
else if(a[mid] < key)
first = mid+1;
else
last = mid-1;
mid = (first+last)/2;
}
return 0;
}