ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

java找值的方法

2022-08-31 00:05:12  阅读:149  来源: 互联网

标签:index arr java int max 元素 找值 方法 left


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;
}
}

标签:index,arr,java,int,max,元素,找值,方法,left
来源: https://www.cnblogs.com/gjh0109/p/16641387.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有