常见的几种排序(冒泡、插入、选择)
package com.hengtian.test; public class SortTest { public static void main(String[] args) { int[] arr = {2,3,1,4,5,7,9,1}; //bubbleSort(arr); //insertSort(arr); selectSort(arr); for(int i:arr){ System.out.println(i); } } /** * 冒泡排序 */ private static void bubbleSort(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]){ trans(i,j,arr); } } } } /** * 插入排序 */ private static void insertSort(int[] arr){ for(int i=0;i<arr.length-1;i++){ for(int j=i+1;j>0;j--){ if(arr[j]<arr[j-1]){ trans(j-1,j,arr); } } } } /** *选择排序 */ private static void selectSort(int[] arr){ for(int i=0;i<arr.length-1;i++){ int index = i; for(int j=i+1;j<arr.length;j++){ if(arr[index]<arr[j]){ index = j; } } trans(i,index,arr); } } /** * 交换 */ private static void trans(int i,int j,int[] arr){ int temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; } }
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。