数组2
数组的排序-冒泡排序
口诀:N个数字来排队、两两相比小靠前、外层循环N-1、内层循环N-1-i
示意图:

public class Demo{
public static void main(String[] args){
int[] arr = {
4,5,2,3,8,1};
for(int i =0;i<arr.length-1;i++){
//控制比较次数 n-1
for(int j=0;j<arr.length-1-i;j++){
//两两比较
if(arr[j] >arr[j+1] ){
//如果前一个大于后一个就交换
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
for(int element:arr){
System.out.println(element);
}
}
}
数组的查找-顺序查找
含义:依次比较查找
public class Demo{
public static void main(String[] args){
int[] arr = {
4,5,2,3,8,1};
int num = 3;
for(int i=0;i<arr.length;i++){
if(arr[i]==num){
System.out.println("查找数在数组中的下表为:" + i);
}
}
}
}
数组的查找-二分查找
理解:不断比较中间值与查找值的大小数组必须是有序的
示意图:

import java.util.Arrays;
public class Demo{
public static void main(String[] args){
int[] arr = {
4,5,2,3,8,1};
int num = 3;
Arrays.sort(arr);
int min = 0;//最小值
int max = arr.length-1;//最大值
while(min <= max){
int mid = (min + max)/2;
if(num > mid){
min = mid+1;
}else if(num<mid){
max = mid-1;