Java教程

java找值的方法

本文主要是介绍java找值的方法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1、找最大值
    (1)先假设第一个元素最大,赋值给max
    (2)后面的元素与max比较,如果有比max大的,就重新修改max的值

2、找最大值及其下标
(1)最大值只有一个
    设置两个变量,一个是max,一个是index
    A:    先假设第一个元素最大,赋值给max ,index=0
    B: 后面的元素与max比较,如果有比max大的,就重新修改max的值和index的值
(2)最大值有多个
    A:先找到最大的值
    B:在数组中遍历,哪些元素和最大值一样
3、顺序查找
从头往后遍历数组,与目标元素一一比较

4、二分查找。
数组是有序的,从小到大
int left = 0;
int right = arr.length-1;
while(left<=right){
    int mid = left + (right-left)/2;
    if(arr[mid] == target){
        找到了
        break;
    }else if(target > arr[mid]){
        left = mid + 1;
    }else{
        right = mid - 1;
    }
}

5、反转
思路:首尾元素交换法
for(int left=0,right=arr.length-1; left<right; left++,right--){
    元素类型 temp = arr[left];
    arr[left] = arr[right];
    arr[right] = temp;
}

6、冒泡排序
相邻元素比较
for(int i=1; i<arr.length; i++){
    for(int j=0; j<arr.length-i; j++){
        if(arr[j] > arr[j+1]){
            元素类型 temp = arr[j];
            arr[j] = arr[j+1];
            arr[j+1] = temp;
        }
    }
}
7、直接选择排序
思路:每一轮找到本轮未排序元素的最大/最小值
for(int i=0; i<arr.length-1; i++){
    int min = arr[i];
    int index = i;
    //找最小值
    for(int j=i+1; j<arr.length; j++){
        if(arr[j] < min){
            min = arr[j];
            index = j;
        }
    }
    //交换
    if(i!=index){
        //交换arr[i]与arr[index]
        元素的类型 temp = arr[i];
        arr[i] = arr[index];
        arr[index] = temp;
    }
}
这篇关于java找值的方法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!