关于数据结构查目录算法int Locate的一些疑点

关于数据结构查索引算法int Locate的一些疑点。本帖最后由 jbqiu168 于 2013-03-27 20:49:01 编辑以下是书

关于数据结构查索引算法int Locate的一些疑点。
本帖最后由 jbqiu168 于 2013-03-27 20:49:01 编辑 以下是书本上的原代码int  Locate ( IdxListType  &idxlist, Hstring wd, Boolean &b){      
for ( i = idxlist.last –1; ( m = StrCompare ( idxlist.item[i].key, wd) ) >0 ; --i );  
//字典顺序      
if ( m==0 )  { 
  b = TRUE;    
  return i ;  
}      //找到       
else  {
  b = FALSE;  return  i+1;
}
}
如果 ( m = StrCompare ( idxlist.item[i].key, wd) ) >0 ;--i如果这里的m一直大于零那这个i不是会小于0如-1,-1为下标不是越界了吗?是不是旁边要加个条件&&i>=0;--i
[解决办法]
从你给的代码看,你是对的