冒泡排序+二分查找,基础版 public class Test { public static void main(String[] args) { //查找数组 a 中是否包含元素 s int[] array = {56,78,54,12,7,1,8,5,2,425,41,66,6,9,3}; int s = 56; paiXu(array);//冒泡排序 boolean
public class Test {
public static void main(String[] args) {
//查找数组 a 中是否包含元素 s
int[] array = {56,78,54,12,7,1,8,5,2,425,41,66,6,9,3};
int s = 56;
paiXu(array);//冒泡排序
boolean result = search(array, s);//二分查找
System.out.println(result);
}
public static int[] paiXu(int[] array) {
int p = 0;
for(int i = 1;i < array.length;i++){
for(int j = 0;j <(array.length - i);j++){
if (array[j] > array[j+1]) {
p = array[j];
array[j] = array[j + 1];
array[j + 1] = p;
}
}
}
return array;
}
public static boolean search(int[] array,int s) {
int left = 0;
int right = array.length - 1;
int mid = (left + right) / 2;
while(right >= left){
if (array[mid] == s) {
return true;
}else if (array[mid] > s) {
right = mid - 1;
}else {
left = mid + 1;
}
mid = (left + right) / 2;
}
return false;
}
}
