#002线性查找和二分查找
This commit is contained in:
parent
c8959a9bd0
commit
2b13c1eae4
|
@ -0,0 +1,49 @@
|
|||
package sort;
|
||||
|
||||
/**
|
||||
* 二分查找,对于目标数组必须有序
|
||||
* @author Sawyer
|
||||
* @date 2022/7/22
|
||||
*/
|
||||
public class TestBinarySearch {
|
||||
public static void main(String[] args) {
|
||||
//目标数组
|
||||
int [] arr = new int []{1,2,3,4,5,6,7,8,9};
|
||||
//目标元素
|
||||
int target = 8;
|
||||
//目标元素下标
|
||||
int index = -1;
|
||||
//记录开始位置
|
||||
int begin = 0;
|
||||
//记录结束位置
|
||||
int end = arr.length-1;
|
||||
//记录中间位置
|
||||
int mid = (begin+end)/2;
|
||||
int i =0;
|
||||
//循环查找
|
||||
while (i<arr.length){
|
||||
//判断中间的元素是不是要查找的元素
|
||||
if(arr[mid]==target){
|
||||
index = mid;
|
||||
break;
|
||||
//不是要查找的元素
|
||||
}else {
|
||||
//判断中间元素是否比目标元素大
|
||||
if(arr[mid]>target){
|
||||
//把结束位置调整到中间位置前一个位置
|
||||
end = mid-1;
|
||||
//中间这个元素比目标元素小
|
||||
}else {
|
||||
//把开始位置调整到中间位置的后一个位置
|
||||
begin = mid+1;
|
||||
}
|
||||
//取出新的中间位置
|
||||
mid=(begin+end)/2;
|
||||
i++;
|
||||
|
||||
}
|
||||
}
|
||||
System.out.println("index:"+index);
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,28 @@
|
|||
package sort;
|
||||
|
||||
/**
|
||||
* 线性查找
|
||||
* @author Sawyer
|
||||
* @date 2022/7/22
|
||||
*/
|
||||
public class TestSearch {
|
||||
public static void main(String[] args) {
|
||||
/*
|
||||
目标数组
|
||||
*/
|
||||
int[] arr = new int[]{1,2,3,4,5,6,7};
|
||||
//目标元素
|
||||
int target=3;
|
||||
//目标元素所在下标
|
||||
int index=-1;
|
||||
for (int j : arr) {
|
||||
if (j == target) {
|
||||
index = target;
|
||||
break;
|
||||
}
|
||||
}
|
||||
//打印目标元素下标
|
||||
System.out.println("index"+index);
|
||||
}
|
||||
|
||||
}
|
|
@ -1,7 +1,6 @@
|
|||
package com.example.h2db;
|
||||
|
||||
import org.mybatis.spring.annotation.MapperScan;
|
||||
import org.mybatis.spring.annotation.MapperScans;
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
|
||||
|
|
|
@ -1,9 +1,5 @@
|
|||
package com.example.h2db.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in New Issue