常用的对数组进行的操作
1、求数组中最大值,最小值
思路:假设下标为0的元素是最大值,遍历数组,依次跟max进行比较,如果有元素比这个max还大,则把这个值赋给max。最小值同样
public class TestArray{
public static void main(String[] args){
int[] arr={23,45,234,576,34,87,12,67};
int max=arr[0];
int min=arr[0];
for(int i=0;i<arr.length;i++){
if(arr[i]>max){
max=arr[i];
}
if(arr[i]<min){
min=arr[i];
}
}
System.out.println("数组中最大值为:"+max);
System.out.println("数组中最小值为:"+min);
}
}
2、查找数组中是否存在某个元素
import java.util.Scanner;
public class TestArray{
public static void main(String[] args){
Scanner in=new Scanner(System.in);
int[] arr={23,67};
System.out.println("请输入你要查找的元素");
int element=in.nextInt();
int i,flag=0;
for(i=0;i<arr.length;i++){
if(arr[i]==element){
flag=1;
break;
}
}
if(flag==1){
System.out.println("你要查找的元素的下标为:"+i);
}else{
System.out.println("你要查找的元素不存在");
}
}
}
(2)、用二分查找法查找数组中是否存在某个元素
前提:待查找的数组必须是有序的(大小有序)
原理:将待查找的元素与数组中中间下标的元素进行比较,如果大于中间元素,去右边查找,小于中间元素,去左边查找。
public static int binarySearch(int[] arr,int ele){
int left=0;
int right=arr.length-1;
int mid;
int index=-1;
while(left<=right){
mid=(left+right)/2;
if(arr[mid]==ele){
in