学习内容:
查找
(1)顺序查找
让关键字与队列中的数从第一个开始逐个比较,直到找出与关键字相同的数为止。
如果全部比较也没有找到与关键字相同的数,即查找失败。
1 package day01;
2 public class OrderFind{
3 public static void main(String[] args) {
4 //定义一堆数据
5 int ary[]= {2,3,4,5,9,7,8};
6 //定义要查找的数据
7 int find=5;
8 //定义标识符,即找到的位置
9 int count=-1;
10 for(int i=0;i<ary.length;i++) {
11 if(find==ary[i]) {
12 count=i;
13 }
14 }
15 if(count!=-1) {
16 System.out.println("下标在:"+count+"的位置");
17 }else {
18 System.out.println("对不起,没有找到!");
19 }
20 }
21 }
(2)二分查找
1 package day01;
2 public class BinarySerachDemo{
3 public static void main(String[] args) {
4 //定义一堆数据
5 int []a= {2,3,4,5,9,7,8};
6 //定义要查找的数据
7 int value=5;
8 //定义标识符,即找到的位置
9 int count=-1;
10 int low=0;
11 int high=a.length-1;
12 while(low<=high) {
13 int mid=(low+high)/2;
14 if(a[mid]==value) {
15 count=mid;
16 break;
17 }
18 else if(a[mid]>value) {
19 high=mid-1;
20 }
21 else {
22 low=mid+1;
23 }
24 }
25 if(count!=-1) {
26 System.out.println("下标在:"+count+"的位置");
27 }else {
28 System.out.println("对不起,没有找到!");
29 }
30 }
31 }
明天要学习的内容:
3.4 Java工具类中算法的实现