using namespace std
const int N = 10
int data[] = {6,1,2,7,9,3,4,5,10,8}
void binaryInsertSort(int* data,int n)
void printArray(int* data, int n)
int locate(int*data,int i)
int main()
{
binaryInsertSort(data,N)
printArray(data,N)
return 0
}
void binaryInsertSort(int* data,int n)
{
int i,j,location,temp
for(i=1
{
location = locate(data,i)
temp = data[i]
for(j=i-1
{
data[j+1] = data[j]
}
data[location] = temp
}
}
void printArray(int* data, int n)
{
for(int i=0
{
cout<<data[i]<<"\t"
}
cout<<endl
}
int locate(int*data,int i)
{
int low = 0
int high = i-1
int mid = 0
while(low<=high)
{
mid = (low+high)/2
if(data[i]==data[mid]) return mid+1
else if(data[i]>data[mid]) low = mid+1
else if(data[i]<data[mid]) high = mid-1
}
return low
}