Loading

java 冒泡排序法、选择排序

1、冒泡排序

 1 /*
 2  * 冒泡排序
 3  * 外层控制循环多少趟,内层控制每一趟的循环次数
 4  */
 5 public class Test08 {
 6     public static void main(String[] args) {
 7         int num[] = {1,9,2,8,4,7,6,5,3};      //定义一个需要排序的数组
 8         System.out.println("排序前的数组为:");
 9         for (int n:num) {               //用增强for循环对数组进行排序
10             System.out.print(n+"");
11         }
12         for (int i = 1; i < num.length; i++) {      //控制循环的趟数
13             for (int j = 1; j < num.length-1-i; j++) {  //每趟循环的次数,数组长度减 i 是因为最后一个数已经比前面的数大,不需要再进行比较
14                 if (num[j]>num[j+1]) {           //当j>j+1时,将两个数交换,大的放后面,当遇到比这个还要大的,再交换,最后就一定是最大的数
15                     int temp = num[j];
16                     num[j] = num[j+1];
17                     num[j+1] = temp;
18                 }
19             }
20         }
21         System.out.println();
22         System.out.println("排序后的数组为:");
23         for (int n:num) {
24             System.out.print(n+"");
25         }
26     }
27 }

https://www.cnblogs.com/shen-hua/p/5422676.html

2、选择排序

/*
 * 选择排序
 * 
 */
public class Test07 {
    public static void main(String[] args) {
        int[] array = {8,6,7,5,1,4,3,9,2};
        System.out.println("排序前:");
        for (int i : array) {
            System.out.print(i+", ");
        }
        System.out.println();
        System.out.println("排序后:");
        for (int i = 0; i < array.length; i++) {    //外层控制比较的第一个数,内层把包括第一个数之后的数都都遍历一遍
            for (int j = i; j <array.length; j++) {
                if (array[i]>array[j]) {            //用第一个数与后面的数依次比较,如果后面有比第一个数还要小的数就与他进行交换
                    int teamp = array[i];
                    array[i] = array[j];
                    array[j] = teamp;
                }
            }
        }
        for (int i : array) {
            System.out.print(i+", ");
        }
    }
}
posted @ 2019-09-03 16:13  dBevil  阅读(424)  评论(0编辑  收藏  举报