`

排序算法和递归算法

    博客分类:
  • java
 
阅读更多

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、选择排序

 

定义一个变量记录最小值,另一个变量记录最小值下标。循环每个元素,假定元素是最小值,然后与后面每个元素做对比。得到真实最小值和下表。

 

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、递归算法。

递归主函数只调用一次方法,方法内部调用给自己。所以,该方法的返回值一定和参数类型相同。

 

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));
    }
}



 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics