几种排序
排序这里讲解这些
- 选择排序
- 冒泡排序
一、选择排序
选择排序,其实就是把第一个元素和后面的一个一个进行比较,把最大或者最小的移动到前面,类似于下图,我简单了画了一下。
接下来,代码如下:
package com.company; public class Main { public static void main(String[] args) { System.out.println("大家好,我是Vae"); int [] arr ={16,45,20,2,6}; System.out.println("排序前的数组"); PrintArray(arr); System.out.println("排序后的数组"); SelectSort(arr); PrintArray(arr); } public static void PrintArray(int[] arr){ for (int i = 0; i <arr.length ; i++) { if (i != arr.length-1) { System.out.print(arr[i]+","); } else System.out.println(arr[i]); } } public static void SelectSort(int [] arr) { 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; } } } } }
重点就在于SelectSort这个方法,我写的默认是从小到大进行排序。输出结果如下:
选择排序,就是这样了。
二、冒泡排序
冒泡排序就是像水泡冒出水面一样,越来越大,冒泡排序,就是最大或者最小的放到最后,然后依次这样交换,如下图:
代码只放冒泡排序的了:
//冒泡排序 public static void BubbleSort(int [] arr) { 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; } } } }