数组查找
标签:增强for循环 大数 code main 复杂 bsp 遍历 length ==
元素的查找:元素无序,循环遍历;元素有序,二分查找 - 时间复杂度O(logn),空间复杂度o(1)
1 class ArraySearch{
2 public static void main(String[] args){
3 /*//1.定义数组,无序
4 int[] arr={1,6,3,8,4};
5
6 //要查找的数
7 int num=3;
8
9 //for循环实现
10 /*for(int i=0;i11 //判断
12 if(arr[i]==num){
13 System.out.println(i);
14 break;
15 }
16 }*/
17
18 /*//增强for循环
19 int count=0;
20 for(int i:arr){
21 if(i==num){
22 System.out.println(count);
23 break;
24 }
25
26 count++;
27 }*/
28
29
30
31
32 //2.有序数组的查找
33 //定义有序数组
34 int[] arr={1,2,3,5,7,9};
35
36 //最小下标,最大数的下标,中间下标
37 int min=0;
38 int max=arr.length-1;
39 int mid=(min+max)/2;
40
41 //查找数
42 int num=9;
43
44 //
45 boolean flag=true;
46
47 //
48 while(arr[mid]!=num){
49 //大于num
50 if(arr[mid]>num){
51 max=mid-1;
52 }
53
54 //小于num
55 if(arr[mid]num){
56 min=mid+1;
57 }
58
59 //判断临界
60 if(min>max){
61 System.out.println("数据有误");
62 flag=false;
63 break;
64 }
65 //重新计算中间值
66 mid=(max+min)/2;
67 }
68
69 //输出下标
70 if(flag)
71 System.out.println(mid);
72 }
73 }
数组查找
标签:增强for循环 大数 code main 复杂 bsp 遍历 length ==
原文地址:https://www.cnblogs.com/nanlinghan/p/9614077.html
文章来自:
搜素材网的
编程语言模块,转载请注明文章出处。
文章标题:
数组查找
文章链接:http://soscw.com/index.php/essay/101704.html
评论