zoukankan      html  css  js  c++  java
  • 四种排序(冒泡、插入、递归、选择)

    1、冒泡排序

     1         第一种  
    int[] arr = { 6, 3, 8, 2, 9, 1 }; 2 System.out.println("排序前数组为:"); 3 for (int num : arr) { 4 System.out.print(num + " "); 5 } 6 for (int i = 0; i < arr.length; i++) {// 外层循环控制排序趟数 7 for (int j = i + 1; j < arr.length; j++) {// 内层循环控制每一趟排序多少次 8 if (arr[i] > arr[j]) { 9 int temp = arr[i]; 10 arr[i] = arr[j]; 11 arr[j] = temp; 12 } 13 } 14 } 15 System.out.println("排序后的数组为:"); 16 for (int num : arr) { 17 System.out.print(num + " "); 18 }
    第二种
    public
    static void maoPao(int[] attr){ for(int i = 0;i < attr.length-1;i++){ for (int j = 0;j < attr.length-1-i;j++){ if(attr[j]>attr[j+1]){ int temp; temp = attr[j]; attr[j] = attr[j+1]; attr[j+1] = temp; } } } System.out.println("排序后的attr : "); for (int i = 0;i<attr.length;i++){ System.out.print(attr[i]+" "); } }

    2、插入排序

     1         int array[] = { 12, 56, 10, 5, 78, 51 };
     2         for (int i = 1; i < array.length; i++) {
     3             int temp = array[i];
     4             for (int j = i - 1; j >= 0 && temp < array[j]; j--) {
     5                 array[j + 1] = array[j];
     6                 array[j] = temp;
     7             }
     8         }
     9         for (int i = 0; i < array.length; i++) {
    10             System.out.print(array[i] + ",");
    11         }

    3、递归排序

     1    /**
     2      * 用递归算法写出
     3      * 第一个人10岁,第二个比第一个大两岁,以此类推,求第八个人的年龄?
     4      * @param args
     5      */
     6     public static void main(String[] args) {
     7         // TODO Auto-generated method stub
     8         System.out.println(a(8));
     9     }
    10     public static int a(int n){
    11         if(n==1) 
    12             return 10;
    13         return a(n-1)+2;
    14     }

    4、选择排序

    第一种:
    public static void xuanze(int[] ints){
            int min,temp;
            for (int i = 0;i<ints.length-1;i++){
                min = i;
                for (int j = i+1;j < ints.length;j++){
                    if (ints[j]<ints[min]){
                        min = j;
                    }
                }
                if(min!=i){
                    temp = ints[i];
                    ints[i] = ints[min];
                    ints[min] = temp;
                }
            }
            System.out.println("选择排序后的attr : ");
            for (int i = 0;i<ints.length;i++){
                System.out.print(ints[i]+"	");
            }
        }
    
          第二种:
                    int[] attr = {3,24,2,6,4};
            for(int i = 0;i < attr.length-1;i++){
                for(int j = i+1;j < attr.length;j++){
                    if(attr[i]>attr[j]){
                        int temp = attr[i];
                        attr[i] = attr[j];
                        attr[j] = temp;
                    }
                }
            }
            
            for(int i = 0;i < attr.length;i++){
                System.out.print(attr[i]+",");
            }

      

  • 相关阅读:
    Triangle
    Remove Duplicate Letters
    array 并不会被默认初始化
    Unique Binary Search Trees
    有些障碍的 unique path
    unique paths
    最长增长序列的长度(LIS)
    极其简单的复数类,只是不想再推演一遍复数四则运算
    安卓_11
    安卓_10
  • 原文地址:https://www.cnblogs.com/gaomanito/p/7530585.html
Copyright © 2011-2022 走看看