ソートアルゴリズムと再帰アルゴリズム


1、泡立ち順
 
public class doBubbleSort {
    public void doBubbleSort(int[] src){
        int len = src.length;
        for(int i = 0 ; i<len ; i++){
            for(int j = i+1 ; j<len; j++){
                int temp;
                if(src[i]>src[j]){
                    temp = src[j];
                    src[j] = src[i];
                    src[i] = temp;
                }
            }
            doPrint(i,src);
        }
    }

    private void doPrint(int i ,int[] src) {
        if(i<src.length-1){
            System.out.print(src[i] + "<");
        }else{
            System.out.print(src[i]);
        }
    }
}

2、ソートの選択
 
1つの変数レコードの最小値を定義し、もう1つの変数レコードの最小値を下付きにします.各要素をループし、要素が最小値であると仮定し、後の各要素と比較します.実際の最小値と次の表を取得します.
 
public class doChooseSort {
    public void doChooseSort(int[] src){
        int len = src.length;
        for(int i = 0 ; i <len ; i++ ){
            int temp =src[i];
            int tempLocation = i;
            for(int j=i+1; j<len; j++ ){
                if(temp>src[j]){
                    temp = src[j];
                    tempLocation=j;
                }
            }
            src[tempLocation] = src[i];
            src[i]  = temp;
            doPrint(i,src);
        }
    }

    private void doPrint(int i ,int[] src) {
        if(i<src.length-1){
            System.out.print(src[i] + "<");
        }else{
            System.out.print(src[i]);
        }
    }
}

 
3、再帰アルゴリズム.
再帰主関数はメソッドを1回だけ呼び出し,メソッド内部は自分に呼び出す.したがって,このメソッドの戻り値は必ずパラメータタイプと同じである.
 
public class Test {
    public int Test(int i){
        if(i==0||i==1){
            return i;
        }else{
            return i*Test(i-1);
        }
    }
    public static void main(String [] args){
        Test test = new Test();
        System.out.println(test.Test(5));
    }
}