Static静态---静态的应用(排序工具…

package objectOriented;

public class StaticApply {

     * @param args
     * 静态的应用
     *
     * 每一个应用中都有共性的功能
     * 可以将这些功能进行抽取,独立封装。
     * 以便复用。
     *
     * ArrayTool工具类中没有私有数据,所有数据都是从外面传进来的,所以可以定义为静态方法
     * 方便调用(ArrayTool.getMax(arr))

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int[] arr = {3,1,6,5,2,9,8};
        ArrayTool.getMax(arr);
        ArrayTool.pri(arr);
    }
}
class ArrayTool
{
    private ArrayTool(){}
    public static int getMax(int[] arr){   //求最大值
        int max = 0;
        for(int i=0;i<arr.length;i++){
            if(arr[i]>arr[max]){
                max = i;
            }
        }
        return arr[max];
    }
    
    public static int getMin(int[] arr){   //求最小值
        int max = 0;
        for(int i=0;i<arr.length;i++){
            if(arr[i]>arr[max]){
                max = i;
            }
        }
        return arr[max];
    }
    
    public static void selectSort(int[] arr){ //选择排序
        for(int i=0;i<arr.length-1;i++){
            for(int j=i+1;j<arr.length;j++){
                if(arr[i]>arr[j]){
                    swap(arr,i,j);
                }
            }
        }
    }
    
    public static void bubbleSort(int[] arr){   //冒泡排序
        for(int i=0;i<arr.length-1;i++){
            for(int j=0;j<arr.length-i-1;j++){
                if(arr[j]>arr[j+1]){
                    swap(arr,j,j+1);
                }
            }
        }
    }
    private static void swap(int[] arr,int a, int b){   //数据交换
        int temp = arr[a];
        arr[a] = arr[b];
        arr[b] = temp;
    }
    public static void pri(int[] arr){             //打印功能
        for(int i=0;i<arr.length;i++){
            System.out.print(arr[i]+" ");
        }
    }
}
posted @ 2013-08-02 10:46  微风夜明  阅读(170)  评论(0编辑  收藏  举报