中易网

JAVA二分查找

答案:2  悬赏:0  
解决时间 2021-02-19 07:41
请高手写个 JAVA二分查找 ~请指教~
最佳答案
public class test {
static int bsearch( int[] a, int v ) {
int l, r;
l = 0; r = a.length-1;
while ( l <= r ) {
int m = (l+r)/2;
if ( a[m] == v ) return m; else
if ( a[m] > v ) r = m-1; else
if ( a[m] < v ) l = m+1;
}
return -1;
}

public static void main( String[] args ) {
int[] a = { 1,3,5,7,9 };
for ( int i = 0; i < 10; ++i )
System.out.println( "find " + i + " at pos: " + bsearch( a, i ) );
}
}
全部回答
以下代码是关于对象的 二分查找 的例子,已经测试通过,执行即可。 student 是基本比较对象类 dichotomy 是二分法执行类 test 是测试类 package com.dichotomy; public class student implements comparable { private int id; private string name; private string idcard; private string sex; private string mobile; public int getid() { return id; } public void setid(int id) { this.id = id; } public string getname() { return name; } public void setname(string name) { this.name = name; } public string getidcard() { return idcard; } public void setidcard(string idcard) { this.idcard = idcard; } public string getsex() { return sex; } public void setsex(string sex) { this.sex = sex; } public string getmobile() { return mobile; } public void setmobile(string mobile) { this.mobile = mobile; } public int compareto(student o) { //不同的执行次序决定排序和查找次序不同,可以同下面的调换一下 if(this.getid() < o.getid()){ return -1; } else if(this.getid() == o.getid()){ ; } else { return 1; } //不同的执行次序决定排序和查找次序不同 int c = this.getidcard().compareto(o.getidcard()); if(c != 0){ return c; } //不同的执行次序决定排序和查找次序不同 int n = this.getname().compareto(o.getname()); if(n != 0){ return n; } return 0; } public string tostring(){ stringbuffer sb = new stringbuffer(); sb.append(this.getid()).append("\t"); sb.append(this.getname()).append("\t"); sb.append(this.getidcard()).append("\t"); sb.append(this.getmobile()).append("\t"); sb.append(this.getsex()); return sb.tostring(); } }
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
未结婚可以带男友回家住吗?
施耐德M218 PLC和威纶触摸屏的通信地址是怎么
新南丰文华园店地址在哪,我要去那里办事
惠普黑白激光打印机和彩色打印机哪个好点呢?
雪佛兰和荣威i6比较哪个好点
同学们做彩旗,小明做了8面,小芳做的比小明
叶文玲《太阳的香味》主要内容
人人乐汤铺地址在哪,我要去那里办事
yy欢迎器怎么锁定窗口
上衣是黑色马甲配黄色长款卫衣 裤子和鞋配什
时新眼镜城地址有知道的么?有点事想过去
酒店有线及电话怎么布线?
老公出轨了,和一个大他5岁的女人上床了,怎
一般户型图中,主卧的卫生间门是在房间里的,
为什么销售东西的人总是那么会欺骗消费者
推荐资讯
青岛卫校护理就业
有没有人用移动4g卡
公输盘是哪国人?公输是姓,盘是名,也写作什么
地蚕是植物还是动物
灵宝市故县镇盘东村支部委员会地址有知道的么
中国传媒大学-电视学院地址有知道的么?有点
葬花吟最好听的版本是谁唱的
五常市工商局牛家镇市场监督管理所在哪里啊,
风味酒楼地址在什么地方,想过去办事
速达印章社这个地址在什么地方,我要处理点事
出国留学都是自费的吗?
如何学习微软技术
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?