45fan.com - 路饭网

搜索: 您的位置主页 > 电脑频道 > 编程代码 > 阅读资讯:怎么样利用二分法查找数据中的字串JAVA?

怎么样利用二分法查找数据中的字串JAVA?

2016-08-31 17:09:24 来源:www.45fan.com 【

怎么样利用二分法查找数据中的字串JAVA?

今天工作中遇到数组中查找一个字串的问题,JAVA代码如下:

// 采用二分法对数据进行查找,如果找到则返回true,否则返回false;
// 采用二分法进行计算的数组,必须已经按升序排列
// list--待查询的数组
// name--待查找的字串
public static boolean isEnabled(List list, String name) {
int iIndex = 0; // 相当于指针的东西
int iStart = 0; //
int iEnd = list.size() - 1;
int iCount = 0;
while (true) {
iIndex = (iStart + iEnd) / 2;
if ((list.get(iIndex)).toString().toLowerCase().compareTo(
name.toLowerCase()) > 0) {
iEnd = iIndex;
} else if ((list.get(iIndex)).toString().toLowerCase().compareTo(
name.toLowerCase()) < 0) {
iStart = iIndex;
} else {
break;
}
/**
* System.out.println("iCount is "+iCount);
* System.out.println("比较值:"+(list.get(iIndex)).toString().toLowerCase());
* System.out.println("待比较值:"+name.toLowerCase());
* System.out.println("比较结果:"+(list.get(iIndex)).toString().toLowerCase().compareTo(name.toLowerCase()));
*/
iCount++;
// 防止找不到时,出现死循环,即使没有相应的值存在,也只比较数组的长度的次数
if (iCount > list.size())
return false;
}
return true;
}

 

本文地址:http://www.45fan.com/bcdm/70328.html
Tags: 中的 数据 查找
编辑:路饭网
推广内容
推荐阅读
热门推荐
推荐文章
关于我们 | 联系我们 | 友情链接 | 网站地图 | Sitemap | App | 返回顶部