package sorting;

public class BubbleSort {

    public int[] decSort(int[] numbers) {
        for(int i = 0; i < numbers.length; i++) {
            boolean numberSwap = false;
            for(int j = 0; j < numbers.length - 1 - i; j++) {
                if (numbers[j] > numbers[j + 1]) {
                    //swap numbers
                    int temp = numbers[j];
                    numbers[j] = numbers[j + 1];
                    numbers[j + 1] = temp;
                    numberSwap = true;
                }
            }

            if(!numberSwap) {
                return numbers;
            }
        }
        return numbers;
    }

    public int[] ascSort(int[] numbers) {
        for(int i = 0; i < numbers.length; i++) {
            boolean numberSwap = false;
            for(int j = 0; j < numbers.length - 1 - i; j++) {
                if (numbers[j] < numbers[j + 1]) {
                    //swap numbers
                    int temp = numbers[j];
                    numbers[j] = numbers[j + 1];
                    numbers[j + 1] = temp;
                    numberSwap = true;
                }
            }

            if(!numberSwap) {
                return numbers;
            }
        }
        return numbers;
    }

    public void print(int[] numbers) {
        System.out.println("Bubble Sorted numbers are:");
        for(int i = 0; i < numbers.length; i++) {
            System.out.print(numbers[i] + " ");
            }
        System.out.println();
    }
}

package sorting;

public class BubbleSortDemo {
    public static void main(String[] args) {
        BubbleSort sorting = new BubbleSort();
        int[] numbers = {50, 40,85, 75, 60};
        int[] sortedNumbers;

        sortedNumbers = sorting.decSort(numbers);
        sorting.print(sortedNumbers);

        sortedNumbers = sorting.ascSort(numbers);
        sorting.print(sortedNumbers);
    }
}