javase笔记 基础代码
数组反转
public static void change(int min,int max,int[] arr) {
//使用递归达到数组反转
if(min >= max){
return;
}
int b;
b=arr[min];
arr[min]=arr[max];
arr[max]=b;
min++;
max--;
change(min,max,arr);
}
冒泡排序
//冒泡排序
//外层循环是比较的次数,内层循环是比较
for (int a = 0; a < arr.length-1; a++) {
for (int i2 = 0; i2 < arr.length-a-1; i2++) {
if(arr[i2]>arr[i2+1]){
int tem = arr[i2+1];
arr[i2+1]=arr[i2];
arr[i2]=tem;
}
}
}
二分查找
package com.atguigu.d_array;
public class Demo04Binary {
//二分法查找
//前提要确保数组是有序的
public static void main(String[] args) {
int[]arr = {1,2,3,4,5,6,7,8,};
int result = binary(3,arr);
System.out.println("result = " + result);
}
public static int binary(int a,int[] arr) {
//定义三个变量
int min = 0;
int max = arr.length - 1;
int mid = 0;
while(min<=max){
mid = (min + max) / 2;
if(a<arr[mid]){
max=mid-1;
}else if(a>arr[mid]){
min = mid+1;
}else {
return mid;
}
}
return -1;
}
}
Java后端学习路线 文章被收录于专栏
Java基础 MySQL
查看11道真题和解析