java排序(选择排序+插入排序+冒泡排序+递归)








D:递归


----------------------------

代码演示:
package day06;
/**
 * 选择排序
 * 每次找出一个最小的值,放到最前面
 * @author yw.wang
 *
 */
public class Test12 {
public static void main(String[] args) {
    Test12 t12 = new Test12();
    t12.xz();            //选择排序
    t12.cr();            //插入排序
    t12.mp();            //冒泡排序
    t12.dg(4);            // 递归
    System.out.println(    t12.dg(4));
}
//选择排序,每次找出最小的值,放在最前面
public void xz(){
    int x[] = {12,9,45,2,13,27,48,79,56,38};//对这一行数进行从小到大的排序
    int min =0,t=0;//min代表最小的值,t表示最小的值的下标
    for(int i=0;i<x.length;i++)    //遍历x数组
    {
        min =x[i];        //认为第一个值是最小值
        t=i;
        for(int j=i+1;j<x.length;j++){
            if(min>x[j]){
                min = x[j];
                t=j;        //这样可以找出这一行最小的值
            }
        }
        x[t]=x[i];
        x[i]=min;        //这样可以把每次找出来的值赋值给第一个
    }
    for (int i = 0; i < x.length; i++) {
        System.out.print(x[i]+"  ");
    }
}
//-------------------------------------------
//插入排序
public void cr(){
    int [] x = {12,9,45,2,13,27,48,79,56,38};
    
    for(int i=1;i<x.length;i++){    //下标从1开始,默认不动第一个数,拿出第二个开始比较
        int k =x[i];//要插入的数
        int j=i-1;//记住位移之后的位置
        //判断,如果当前的值大于插入的数,进行位移
        while(j>=0&&x[j]>k){
            x[j+1]=x[j];
            j--;
        }
        x[j+1]=k;
    }
    for (int i = 0; i < x.length; i++) {
        System.out.print(x[i]+"    ");
    }
    System.out.println();
}
//---------------------------------------
//冒泡排序
public void mp(){
    int x []={12,9,45,2,13,27,48,79,56,38};
    int t =0;
    for(int j=x.length-1;j>=0;j--){
        for(int i=0;i<j;i++){
            if(x[i] > x[i+1]){
                t=x[i];
                x[i]=x[i+1];
                x[i+1]=t;
            }
        }
    }
    for (int i = 0; i < x.length; i++) {
        System.out.print(x[i]+"   ");
    }
    
}
//-------------------------------
//递归
public int dg(int n){
    if(n ==0){
        return 1;
    }else{
        return n*dg(n-1);//4*dg(3)    4!=4*3!
    }
}
}








posted @ 2016-02-19 20:38  暗夜小精灵~~  阅读(833)  评论(0编辑  收藏  举报