本文整理汇总了C++中Ordered_list::retrieve方法的典型用法代码示例。如果您正苦于以下问题:C++ Ordered_list::retrieve方法的具体用法?C++ Ordered_list::retrieve怎么用?C++ Ordered_list::retrieve使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Ordered_list
的用法示例。
在下文中一共展示了Ordered_list::retrieve方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: if
//Recursive implementation without equality checking
Error_code recursive_binary_1(const Ordered_list &the_list, const Key &target,
int bottom, int top, int &position)
{
Record data;
if(bottom<top){
int mid = (bottom+top)/2;
the_list.retrieve(mid, data);
if(data<target)
return recursive_binary_1(the_list,target,mid+1,top,position);
else
return recursive_binary_1(the_list,target,bottom,mid,position);
}
else if(top<bottom)
return not_present;
else{
position = bottom;
the_list.retrieve(bottom,data);
if(data==target) return success;
else return not_present;
}
}
示例2:
//Iterative version without equality checking
Error_code binary_1(const Ordered_list &the_list,const Key &target,
int &position)
{
Record data;
int bottom =0, top = the_list.size()-1;
while(bottom<top){
int mid = (bottom+top)/2;
the_list.retrieve(mid,data);
if(data<target)
bottom = mid+1;
else
top = mid;
}
if(top<bottom) return not_present;
else{
position = bottom;
the_list.retrieve(bottom,data);
if(data==target) return success;
else return not_present;
}
}