您的位置:首页 > 其它

数组常用方法的总结

2012-05-12 18:25 288 查看
//数组常用方法
public class ArrayTest {

public static void main(String[] args) {
int arr[] = {1,66,35,78,2,5,6,3};
//System.out.println(getMax(arr));
//System.out.println(getMin(arr));
//printArray(arr);
//selectSort(arr);
//bubbleSort(arr);
int index = binarySearch(arr,35);
printArray(arr);
System.out.println(index);
}
//打印数组功能
public static void printArray(int arr[]){
for(int i=0;i<arr.length;i++){
if(i!=arr.length-1){
System.out.print(arr[i]+",");
}else{
System.out.println(arr[i]);
}
}
}
//获取最大值
public static int getMax(int arr[]){
int  max=0;
for(int i=0;i<arr.length;i++){
if(arr[max]<arr[i]){
max = i;
}
}
return arr[max];
}
//获取最小值
public static int getMin(int arr[]){
int min=0;
for(int i=0;i<arr.length;i++){
if(arr[min]>arr[i]){
min = i;
}
}
return arr[min];
}
//选择排序
public static void selectSort(int arr[]){
for(int x=0;x<arr.length-1;x++){
for(int y=x+1;y<arr.length;y++){
if(arr[x]>arr[y]){
int temp = arr[x];
arr[x] = arr[y];
arr[y] = temp;
}
}
}
}
//冒泡排序
public static void bubbleSort(int arr[]){
for(int x=0;x<arr.length-1;x++){
for(int y=0;y<arr.length-1-x;y++){
if(arr[y]>arr[y+1]){
int temp = arr[y];
arr[y] = arr[y+1];
arr[y+1] = temp;
}
}
}
}
//二分法查找
public static int binarySearch(int arr[],int key){
selectSort(arr);
int min=0,max=arr.length-1,mid;

while(min<=max){
mid = (min+max)/2;
if(key>arr[mid]){
min = mid+1;
}else if(key<arr[mid]){
max = mid-1;
}else{
return mid;
}
}
return -1;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: