计算机怎么建设网站,深圳网页设计与制作本科工资多少钱,手机怎么免费建网站,易班网站建设基础a. 线性查找#xff1a;从数据中#xff0c;第一个元素开始查找#xff0c;将其与查找的值进行比对#xff0c;如果相同#xff0c;就停止查找#xff0c;如果不相同#xff0c;则继续下一个元素的比对。直到查找到匹配的值#xff0c;或者是有数据遍历完毕#xff0c…a. 线性查找从数据中第一个元素开始查找将其与查找的值进行比对如果相同就停止查找如果不相同则继续下一个元素的比对。直到查找到匹配的值或者是有数据遍历完毕结束查询。用于数据无序、随机结构。 public class TestA{ public static void main(String[] args){ //查找数组中值为100的索引的位置 int[] iarr {45,32,67,99,87,66,88,100,54,98}; int count 0; //数组是无序。只能采用线性查找 for(int i 0;i iarr.length;i ){ count ; System.out.println(查询次数 count ); //进行对比 if(iarr[i] 100){ System.out.println(100在数组中的索引为 i); //一旦找到以后不需要往下查找结束循环 break; } } } } b. 二分查找前提数据必须是有序的(升序、降序排列)。首先跟数据中中间位置的值进行比对。如果相同结束查找返回位置。如果中间值小于查找值那么在后部分查找如果中间值大于查找值那么在前部分中查找 在接下来部分中比较中间值 直到查找到目标值或者无法在分为两部分。 public class TestB{ public static void main(String[] args){ sortTwo(); } public static void sortTwo(){ int[] iarr {23,34,54,55,66,68,88,99,102,120,180}; //查找值为120 int i 120; int findex 0;//查找范围 开始索引 int lindex iarr.length - 1;//查找范围 结束索引 int lindex iarr.length - 1;//查找范围 结束索引 int mindex -1;//查找范围中间索引 int index -1;//查找到结果的索引 int count 0; //未知循环多少次才能结束 while(findex lindex){ count ; mindex (findex lindex) / 2;//查找范围中间索引 System.out.println(findex: findex ,lindex: lindex ,mindex: mindex ,count: count); int temp iarr[mindex]; if(temp i){ index mindex; break; //找到结果就结束循环 }else if(temp i){//在后部分查找 findex mindex 1; }else if(temp i){//在前部分查找 lindex mindex -1; } } if(index ! -1){ System.out.println(索引位置为: index); }else{ System.out.println(查找的值不存在数组中); } } } 转载于:https://www.cnblogs.com/changyinlu/p/4693491.html