|
![]() |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
class ErFenFa { int[] iArray={1,5,9,14,27,39,41,50,62,222,345,612,981,1207,8721}; //在此数字序列中寻找 int iSeek=345; //寻找345的位置 int iCount=0; //比较的次数 public int xunhuan() //普通的循环法,最少需要比较一次,比如查找1,最多需要比较15次,比如8721 { for(int i=0;i<iArray.length;i++) { iCount++; if (iSeek==iArray[i]) break; } return iCount; } public int erfen() //二分法查找 { int iIndex=0; //相称于指针的东西 int iStart=0; // int iEnd=iArray.length-1; while(true) { iCount++; iIndex = (iStart+iEnd)/2; if(iArray[iIndex]<iSeek) { iStart = iIndex; } else if(iArray[iIndex]>iSeek) { iEnd = iIndex; } else { break; } } return iCount; } public static void main(String[] args) { ErFenFa eff=new ErFenFa(); ErFenFa eff1=new ErFenFa(); System.out.println("普通的循环查找,需要比较的次数:"+eff.xunhuan()); System.out.println("二分法查找,需要比较的次数:"+eff1.erfen()); } } 返回类别: 教程 上一教程: “给你第二次机会”??小议PushbackInputStream 下一教程: Java简朴类型进行精确浮点数运算 您可以阅读与"java版本的二分法算法实现"相关的教程: · java版本的冒泡算法 · 用JAVA转变简繁体的基础知识 (不用对照表,用算法实现) · bug? Hbm2JavaTask无法实现joined-subclass单独配置文件(2.1.2) · 用java实现人工智能中的A*算法求8数码问题 · java实现的18位身份证格式验证算法 |
![]() ![]() |
快精灵印艺坊 版权所有 |
首页![]() ![]() ![]() ![]() ![]() ![]() ![]() |