All pastes #242361 Raw Edit

Stuff

public text v1 · immutable
·published 2006-11-07 04:16 UTC
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.";
		 }