Java-数组-冒泡排序+二分查找
可自行键入数组元素和需要查找的元素
package com.lu.test;
import java.util.Scanner;
/**
* @author Lu
* @date 2022/3/27 10:59
*/
public class ErFen {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
//新建数组,设置数组长度
int[] array = new int[6];
//手动键入数组
for(int i = 0;i < array.length;i++){
array[i] = scan.nextInt();
}
//冒泡排序
int temp = 0;
for(int i = 0;i < array.length - 1;i++){
for(int j = 0;j < array.length - i - 1;j++){
if (array[j] >= array[j + 1]) {
temp = array[j];
array[j] = array[j + 1];
array[j + 1] = temp;
}
}
}
//输出数组
for(int i = 0;i < array.length;i++){
System.out.print(array[i] + "\t");
}
System.out.println();
//二分查找
int target = 6;
int head = 0;//初始首索引
int end = array.length - 1;//初始末索引
boolean isFlag = false;
while (head <= end){
int middle = (head + end) / 2;
if(array[middle] == target){
System.out.println("found in "+ "array[" + middle + "]");
isFlag = true;
break;
}else if(array[middle] > target){
end = middle - 1;
}else{
head = middle + 1;
}
}
//数组中不存在该元素
if(isFlag == false){
System.out.println("404 not found");
}
}
}