一個時間複雜度為O(n)的排序演算法,空間複雜度為O(1)
阿新 • • 發佈:2018-12-31
package test; import java.util.HashSet; import java.util.Set; public class Test { public static void main(String[] args) { int[] arr = {1,5,6,3,9,8,6,4}; sort(arr); System.out.println(arr); } private static void sort(int[] arr) { if (arr.length == 0 || arr == null) { return; } int[] ageTimeArr = new int[100]; for (int i = 0; i < 100;i++) { ageTimeArr[i] = 0; } for (int i = 0; i < arr.length;i++) { ++ageTimeArr[arr[i]]; } int index = 0; for (int i = 0 ;i < 100;i++) { for (int j = 0;j < ageTimeArr[i];j++) { arr[index] = i; index++; } } } }