泛型实现二分查找
来源:互联网 发布:万方数据库首页 编辑:程序博客网 时间:2024/06/05 00:37
//查询算法:二分查找
/// <summary>
///查询算法:二分查找
/// </summary>
/// <param name="listObj">待查询的对象集合</param>
/// <param name="pkid">查询关键字</param>
/// <returns>返回关键字在集合中的位置</returns>
public static int binarySearch<TObject>(List<TObject> listObj, int pkid)
{
int pos = -1;
int low, high, mid;
int PKID;
if (listObj.Count > 1)
{
low = 0;
high = listObj.Count - 1;
mid = (low + high) / 2;
while (low <= high)
{
PKID = (int)typeof(TObject).GetProperty("pkid").GetValue(listObj[mid], null);
if (PKID == pkid)
{
pos = mid;
break;
}
else if (PKID > pkid)
{
high = mid - 1;
mid = (low + high) / 2;
}
else
{
low = mid + 1;
mid = (low + high) / 2;
}
}
}
else if (listObj.Count == 1)
{
PKID = (int)typeof(TObject).GetProperty("pkid").GetValue(listObj[0], null);
if (PKID == pkid)
{
pos = 0;
}
}
else
{
pos = -1;
}
return pos;
}
- 泛型实现二分查找
- c语言二分查找泛型实现
- 二分查找法的C++泛型实现
- Java实现 二分查找
- 二分查找递归实现
- 正确实现二分查找
- Python实现二分查找
- 二分查找实现
- 二分查找实现
- 二分查找实现
- Java实现二分查找
- 二分查找实现
- java实现二分查找
- java实现二分查找
- 二分查找的实现
- Java二分查找实现
- c++实现二分查找
- 二分查找(实现)
- iptables的原理及进行包过滤的用法
- 在64位的系统上使用32为的ODBC驱动
- 漫谈互联网历史【4】- 70年代: 个人电脑的酝酿
- argument题库和翻译
- Java/.net/PHP比较 程序员眼中的.Net世界
- 泛型实现二分查找
- 详细介绍五种JSP跳转方法
- omp物质详细解说
- An Introduction to the Java Logging API (part)
- 如何阅读代码(ZT)
- 托管与非托管混合编程
- 便携硬件产品多元化发展 市场消费需求有待观望
- lucene2.4测试_文本文件索引
- java code example site