黑马程序员技术交流社区
标题:
排序,查找
[打印本页]
作者:
gcno93
时间:
2016-8-30 22:40
标题:
排序,查找
闲来无事,敲敲代码!
class MySort {
public static void main(String[] args){
int[] array={10,12,45,1,58,14};
array=bubbleSort(array);
int index=halfSearch(array,45);
for(int i=0;i<=array.length-1;i++){
System.out.println(array[i]);
}
System.out.println(index);
}
/**
*选择排序
*
*/
public static int[] searchSort(int[] arr){
for(int i=0;i<arr.length-1;i++){
for(int j=i+1;j<=arr.length-1;j++){
if(arr[i]<arr[j]){
int temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
}
}
return arr;
}
/**
*冒泡排序
*
*/
public static int[] bubbleSort(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 temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
return arr;
}
/**
*二分查找(查找的数组必须是有序的)
*
*/
public static int halfSearch(int[] arr,int find){
int min=0;
int max=arr.length-1;
int mid=0;
int index=-1;
while(true){
if(max<min){
return index;
}
mid=(min+max)/2;
if(arr[mid]>find){
max=mid-1;
}else if(arr[mid]<find){
min=mid+1;
}else{
index=mid;
return index;
}
}
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2