// 数组元素逆序
int [] arr = {11,22,33,44,55,66,77};
for(int i = 0,j = arr.length-1;i<j;i++,j--){
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
for(int i = 0 ;i<arr.length;i++){
System.out.print(arr[i]+" ");
}
System.out.println();
// 选择排序
int [] arr2 = {9,2,7,5,8,6,4,3};
for(int i = 0;i<arr2.length-1;i++){
for(int j = i+1;j<arr2.length;j++){
if(arr2[j]<arr2[i]){
int temp = arr2[i];
arr2[i] = arr2[j];
arr2[j] = temp;
}
}
}
for(int i = 0 ;i<arr2.length;i++){
System.out.print(arr2[i]+" ");
}
System.out.println();
// 数组元素冒泡排序
int [] arr3 = {9,2,7,5,8,6,4,3};
for(int i = 0;i<arr3.length-1;i++){
for(int j = 0;j<arr3.length-i-1;j++){
if(arr3[j]>arr3[j+1]){
int temp = arr3[j];
arr3[j] = arr3[j+1];
arr3[j+1] = temp;
}
}
}
for(int i = 0 ;i<arr3.length;i++){
System.out.print(arr3[i]+" ");
}
// 折半查找
public static int halfSearch(int arr4[],int key){
int mid = 0;
int max = arr4.length-1;
int min = 0;
while(min<=max){
mid = (max+mid)/2;
if(arr4[mid] > key){
max = mid-1;
}
else if(arr4[mid] < key){
min = mid+1;
}
else{
return mid;
}
}
return -1;
}