数组的排序
- 数组排序有很多方式:比如 冒泡排序,选择排序,希尔排序,快速排序等等,我们重点掌握冒泡排序,选择排序,和JavaAPI提供的排序
- 冒泡排序
相邻两个元素按照指定规则两两比较,如果符合规则,则进行位置交换。每一轮都找出最大值
package com.baizhi.day06; public class ArraySort{ public static void main(String[]args){ //冒泡排序 int[] arr = {5,12,8,9,3}; for(int i = 0;i<arr.length-1;i++){ for(int j = 0;j<arr.length-1-i;j++){ if(arr[j]>arr[j+1]){ int temp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = temp; } } } for(int i = 0;i<arr.length;i++){ System.out.println(arr[i]); } } } |
- 选择排序
选定一位元素依次与数组中其他位置上的元素按照指定规则比较,满足条件则交换位置
class ArraySortC{ public static void main(String[] args){ //选择排序 /* 选定一位元素依次与数组中其他位置上的元素按照指定规则比较,满足条件则交换位置 */ int[] arr = {5,12,8,9,3}; for(int i = 0;i<arr.length-1;i++){ for(int j = i+1;j<arr.length;j++){ if(arr[i]>arr[j]){ int temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; } } } for(int i = 0;i<arr.length;i++){ System.out.println(arr[i]); } } } |
- Java提供的排序方法:Arrays.sort(),这个方法只能升序排序,如果需要倒序排序,升序排序之后可以对数组进行反转