package com.atsico.pkg0819;
import org.junit.Test;
import java.util.Arrays;
public class MainDemo {
public int selectBy2(int selectKey, int... iArr) {
if (iArr == null) {
return -1;
}
int start = 0;//数组最小索引值
int end = iArr.length - 1;//数组最大索引值
if (start > end) {
return -1;
}
if (start == end) {
if (selectKey == iArr[end]) {
return start;
}
return -1;
}
while (start < end) {
int middle = (start + end) / 2;//获取中间索引
if (selectKey < iArr[middle]) {
end = middle - 1;
} else if (selectKey > iArr[middle]) {
start = middle + 1;
} else {
return middle;
}
}
return -1;
}
@Test
public void test_01() {
int[] iArr = new int[]{2, 14, 19, 10, 243, 148, 199, 357};
iArr = sortMethod(iArr);
int i = selectBy2(243, iArr);
System.out.println("key: 243 => value:" + i);
}
public int[] sortMethod(int... param) {
int tempVal = 0;
int[] iArr = param;
for (int i = 0; i < iArr.length; i++) {
for (int j = i + 1; j < iArr.length; j++) {
if (iArr[i] > iArr[j]) {
tempVal = iArr[j];
iArr[j] = iArr[i];
iArr[i] = tempVal;
tempVal = 0;
}
}
}
System.out.println("冒泡排序:");
for (int mem : iArr) {
System.out.print(mem + " ");
}
return param;
}
}