rendered paste body int low = 0;
strTarget = txtTarget->Text;
int high = Convert::ToInt32(strName->Length);
int mid = Convert::ToInt32((low+high)/2);
bool found = false;
int i = 0;
strLog ="BINARY SEARCH LOG " + Environment::NewLine;
MessageBox::Show("Mid: " + mid.ToString() + " Low: " + low.ToString() + " High: " + high.ToString() + " strName: " + strName[mid]->ToString());
while (!(found) && (low <= high))
{
strLog += "Checking location " + mid.ToString() + " (" + strName[mid] + ") against " + strTarget + " (Low: " + low.ToString() + " & High: " + high.ToString() + ")" + Environment::NewLine;
if (String::Compare(strTarget,strName[mid])==0)
found = true;
else
{
if(String::Compare(strTarget,strName[mid])< 0)
{
high = mid-1;
mid = (low + high)/2;
}
else if(String::Compare(strTarget,strName[mid])> 0)
{
low = mid+1;
mid = (low + high)/2;
}
}
i++;
}
if (found) strLog += "FOUND!\r\n";
else strLog += "NOT FOUND!\r\n";
txtLog->Text += strLog + i.ToString() + " comparisons were made.";
}