//主类:MyTest类:
import java.util.Arrays;
public class MyTest {
public static void main(String[] args) {
ArrayUtils arrayUtils = new ArrayUtils();
int[] arr={15,23,34,32,12,18,24,56,45};
arrayUtils.maopao(arr);
System.out.println(Arrays.toString(arr));
int[] arr2={15,23,34,32,12,18,24,56,45};
arrayUtils.xuanze(arr);
System.out.println(Arrays.toString(arr2));
int[] arr1={12, 15, 18, 23, 24, 32, 34, 45, 56};
int index = arrayUtils.binarySearch(arr1, 45);
System.out.println(index);
}
}
//ArrayUtils类:
package org.westos.demo1;
public class ArrayUtils {
public void maopao(int[] arr){
for (int i = 0; i < arr.length-1; i++) {
for (int j = 0; j < arr.length-1-i; j++) {
if(arr[j]>arr[j+1]){
int t=arr[j];
arr[j]=arr[j+1];
arr[j+1]=t;
}
}
}
}
public void xuanze(int[] arr){
for (int i = 0; i < arr.length-1; i++) {//控制索引元素前进:
for (int j = 1+i; j < arr.length-1; j++) {//控制每轮被比较元素前进:
if(arr[i]>arr[j]){
int t=arr[i];
arr[i]=arr[j];
arr[j]=t;
}
}
}
}
public static int binarySearch(int[] arr,int ele){//二分查找
int minIndex=0;
int maxIndex=arr.length-1;
int centerIndex=(minIndex+maxIndex)/2;
while(minIndex<=maxIndex){
if(ele==arr[centerIndex]){//当元素与中间元素相同时,返回中间元素;
return centerIndex;
}else if(ele<arr[centerIndex]){//当元素小于中间元素,中间元素索引减1,赋值给最大索引;
maxIndex=centerIndex-1;
}else if(ele>arr[centerIndex]){//当元素大于中间元素,中间元素索引加1,赋值给最小索引;
minIndex=centerIndex+1;
}
centerIndex=(maxIndex+minIndex)/2;//重新计算中间索引
}
return -1;
}
}
编写数组工具类,完成冒泡排序、选择排序、二分查找
最新推荐文章于 2022-04-28 01:00:00 发布