冒泡排序
代码
import java.util.Arrays;
/**
* 测试冒泡排序
* @author dxt
*
*/
public class TestBubbleSort {
public static void main(String[] args){
int[] array = {3, 1, 6, 2, 9, 0, 7, 4, 5, 8};
TestBubbleSort tbs = new TestBubbleSort();
tbs.bubbleSort(array);
System.out.println(Arrays.toString(array));
}
/**
* 冒泡排序
* @param array
*/
public void bubbleSort(int[] array){
int temp = 0;
for(int i=0; i<array.length-1; i++){
boolean flag = true; //及时终止的冒泡排序
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;
flag = false;
}
}
if(flag){
break;
}
}
}
}
结果
二分查找
代码
import java.util.Arrays;
/**
* 测试二分法查找
* @author dxt
*
*/
public class TestBinarySearch {
public static void main(String[] args){
int[] array = {3, 1, 6, 2, 9, 0, 7, 4, 5, 8};
Arrays.sort(array); //使array数组从小到大有序
//测试二分查找
System.out.println(binarySearch(array, 0));
}
/**
* 二分查找
* @param arr
* @param value
* @return
*/
public static int binarySearch(int[] arr, int value){
int low = 0;
int high = arr.length-1;
while(low <= high){
int mid = (low + high) / 2;
if(arr[mid] == value){
return mid;
}
else if(arr[mid] < value){
low = mid + 1;
}
else {
high = mid - 1;
}
}
return -1;
}
}