首页 > 代码库 > Java基础——选择排序、冒泡排序

Java基础——选择排序、冒泡排序

1.选择排序

原理是直接从待排序数组里选择一个最小(或最大)的数字,每次都拿一个最小数字出来,

顺序放入新数组,直到全部拿完

代码演示:

 

 1 public class Test3 { 2     public static void main(String[] args) { 3         int[] arr = { 3, 9, 81, 8, 5, 10 }; 4         selectSort(arr); 5         print(arr); 6     } 7  8     /* 选择排序:原理是第i个元素和剩余元素的比较次数 */ 9     public static void selectSort(int[] arr) {10         for (int i = 0; i < arr.length - 1; i++) {11             for (int j = i + 1; j < arr.length; j++) {12                 if (arr[i] > arr[j]) {13                     int temp = arr[i];14                     arr[i] = arr[j];15                     arr[j] = temp;16                 }17             }18         }19     }20 21     /* 排序后打印函数 */22     public static void print(int[] arr) {23         System.out.print("{");24         for (int i = 0; i < arr.length; i++) {25             if (i < arr.length - 1)26                 System.out.print(arr[i] + ",");27             else28                 System.out.print(arr[i]);29         }30         System.out.print("}");31     }32 }

 第10行的for循环控制的是总的比较次数,第11行for循环控制的是第i个数(最小值或最大值)和剩余的比较次数

 

2.冒泡排序

原理是临近的数字两两进行比较,按照从小到大或者从大到小的顺序进行交换,

这样一趟过去后,最大或最小的数字被交换到了最后一位,

然后再从头开始进行两两比较交换,直到倒数第二位时结束

代码示例:

 1 public class Test4 { 2     public static void main(String[] args) { 3         int[] arr = { 3, 9, 81, 8, 5, 10 }; 4         bubbleSort(arr); 5         print(arr); 6     } 7  8     public static void bubbleSort(int[] arr) { 9         for (int i = 0; i < arr.length - 1; i++) {10             for (int j = i; j < arr.length; j++) {11                 if (arr[i] > arr[j]) {12                     int temp = arr[i];13                     arr[i] = arr[j];14                     arr[j] = temp;15                 }16             }17         }18     }19 20     /* 排序后打印函数 */21     public static void print(int[] arr) {22         System.out.print("{");23         for (int i = 0; i < arr.length; i++) {24             if (i < arr.length - 1)25                 System.out.print(arr[i] + ",");26             else27                 System.out.print(arr[i]);28         }29         System.out.print("}");30     }31 }

 

Java基础——选择排序、冒泡排序