( [] inputArr){
count = inputArr.length;
( i = ;i < count;i++){
( j = i;j > && inputArr[j] < inputArr[j - ];j--){
temp = inputArr[j];
inputArr[j] = inputArr[j - ];
inputArr[j - ] = temp;
}
}
}
( [] inputArr){
count = inputArr.length;
gap = count / ;
(gap >= ){
arrCount = gap;
( i = ;i < arrCount;i++){
ArrayList elemList = ArrayList();
ArrayList indexList = ArrayList();
( j = ;j < count;){
elemList.add(inputArr[j]);
indexList.add(j);
j = j + gap;
}
[] tmp = [elemList.size()];
( s = ;s < elemList.size();s++){
tmp[s] = ( ) elemList.get(s);
}
directInsertSort(tmp);
( v = ;v < indexList.size();v++){
index = ( ) indexList.get(v);
inputArr[index] = tmp[v];
}
}
gap = gap / ;
}
}
( [] inputArr){
( i = ;i < inputArr.length;i++){
( j = ;j < (inputArr.length - ) - i;j++){
(inputArr[j + ] < inputArr[j]){
temp = inputArr[j + ];
inputArr[j + ] = inputArr[j];
inputArr[j] = temp;
}
}
}
}
( [] inputArr, left, right){
(left < right) {
i = left, j = right, x = inputArr[left];
(i < j) {
(i < j && inputArr[j] >= x){
j--;
}
(i < j){
inputArr[i++] = inputArr[j];
}
(i < j && inputArr[i] < x){
i++;
}
(i < j){
inputArr[j--] = inputArr[i];
}
}
inputArr[i] = x;
quickSort(inputArr, left, i - );
quickSort(inputArr, i + , right);
}
}
( [] inputArr){
( i = ;i < inputArr.length;i++){
[] tempArr = [inputArr.length - i];
( j = i;j < inputArr.length;j++){
tempArr[j - i] = inputArr[j];
}
[] ret = getMin(tempArr);
index = ret[ ];
min = ret[ ];
temp = inputArr[i];
inputArr[i] = inputArr[index + i];
inputArr[index + i] = temp;
}
}
( [] inputArr){
( i = inputArr.length / - ;i >= ;i--){
adjustHeap(inputArr,i,inputArr.length);
}
( j = inputArr.length - ;j > ;j--){
swap(inputArr, ,j);
adjustHeap(inputArr, ,j);
}
}
( [] inputArr, i, length){
temp = inputArr[i];
( k = i * + ;k < length;k = k * + ){
(k + < length && inputArr[k] < inputArr[k + ]){
k++;
}
(inputArr[k] > temp){
inputArr[i] = inputArr[k];
i = k;
} {
;
}
}
inputArr[i] = temp;
}
( [] a){
temp = a[ ];
a[ ] = a[ ];
a[ ] = temp;
}
( []arr, a , b){
temp = arr[a];
arr[a] = arr[b];
arr[b] = temp;
}
[] ( [] arr){
[] ret = [ ];
min = arr[ ];
( i = ;i < arr.length;i++){
(arr[i] < min){
min = arr[i];
ret[ ] = i;
}
ret[ ] = min;
}
ret;
}
(String[] args){
[] input = []{ , , , , };
stackSort(input);
( x: input) {
System.out.print(x+ );
}
}
}