package bluebridge;
import java.util.Arrays;
public class sort {
public static void main(String[] args) {
int[] arr = {10,2,10,34,5,6};
tong_sort(arr);
//quick_sort(arr,0,arr.length );
print(arr);
}
public static void tong_sort(int[] arr){
int len = get_max(arr);
int[] newarr = new int[len+1];
for ( int i: arr) {
newarr[i]++;
}
int j = 0;
for( int i=0 ;i<len+1 ;i++){
while (newarr[i]>0){
newarr[j++] = i;
newarr[i]--;
}
}
for (int i = 0;i<arr.length;i++){
arr[i] = newarr[i];
}
}
public static void quick_sort(int[] arr,int start,int end){
if(start >= end){
return;
}
int left = start+1;
int right = end-1;
int temp = arr[left];
while (left != right){
while (arr[right]>=temp && left<right){
right--;
}
while (arr[left+1] <= temp && left<right){
left++;
}
if(left<right) {
int t = arr[left];
arr[left] = arr[right];
arr[right] = t;
}
}
arr[start] = arr[left];
arr[left] = temp;
quick_sort(arr,start,left-1);
quick_sort(arr,left+1,end);
}
public static int get_max(int[] arr){
int max = arr[0];
for (int i = 0 ; i< arr.length-1 ;i++){
max = max> arr[i+1] ? max : arr[i+1];
}
return max;
}
public static void print(int[] arr) {
for (int i = 0; i < arr.length; i++)
System.out.print(arr[i] + " ");
}
}