 GeeksforGeeks App
Open App Browser
Continue

# Java Program to Sort the Elements of an Array in Ascending Order

Problem statement: Sort the given array in ascending order such that elements will be arranged from smallest to largest. Consider an illustration below:

Let the original array be as follows:

Array generated after sorting the above array is as follows:

• Elements are sorted in such a way that the smallest element will appear on the extreme left which in this case is -9. The largest element will appear on the extreme right which in this case is 12.

Approaches:

1. Using bubble sort(naive)
2. Using sort() method of arrays class(optimal)

Approach 1: Using Bubble sort

Algorithm:

1. Compare adjacent elements with each other.
2. Use nested for loop to keep track.
3. Swap the elements if the first element is greater than the second element.

Example

## Java

 `// Java Program to Sort Elements of an Array``// in Ascending Order` `// Main class``class` `GFG {` `    ``// Declaration global variable length``    ``static` `int` `length;` `    ``// Method 1``    ``// To print the array``    ``public` `static` `void` `printArray(``int``[] array)``    ``{``        ``// Iterating using for loops``        ``for` `(``int` `i = ``0``; i < length; i++) {``            ``System.out.print(array[i] + ``" "``);``        ``}``        ``System.out.println();``    ``}` `    ``// Method 2``    ``// To sort an array``    ``public` `static` `void` `sortArray(``int``[] array)``    ``{``        ``int` `temporary = ``0``;` `        ``// Sort the array 'arr' elements in ascending order``        ``// using nested for loops``        ``for` `(``int` `i = ``0``; i < length; i++) {``            ``for` `(``int` `j = i + ``1``; j < length; j++) {``                ``if` `(array[i] > array[j]) {``                    ``temporary = array[i];``                    ``array[i] = array[j];``                    ``array[j] = temporary;``                ``}``            ``}``        ``}` `        ``// Displaying elements of array after sorting``        ``System.out.println(``            ``"Elements of array sorted in ascending order: "``);``        ``printArray(array);``    ``}` `    ``// Method 3``    ``// Main driver method``    ``public` `static` `void` `main(String[] args)``    ``{``        ``// Initializing custom array elements``        ``// The array contains 6 elements.``        ``int``[] array = ``new` `int``[] { -``5``, -``9``, ``8``, ``12``, ``1``, ``3` `};` `        ``// Initialize length``        ``length = array.length;` `        ``// Displaying elements of original array``        ``System.out.print(``"Elements of original array: "``);` `        ``// Call printArray method``        ``printArray(array);` `        ``// Call sortArray method``        ``sortArray(array);``    ``}``}`

Output

```Elements of original array: -5 -9 8 12 1 3
Elements of array sorted in ascending order:
-9 -5 1 3 8 12 ```

Time Complexity: O(n^2), where n is the length of an array.

Approach 2: Using sort() method of Arrays class

The sort() method is a java.util.Arrays class method used to sort array elements.  It by default sorts of array elements in ascending order.

Syntax:

`Arrays.sort(arrayName);`

Parameters:  Array to be sorted

Return Type: NA

Example

## Java

 `// Java Program to sort the elements of an array``// in Ascending Order by Inbuilt Methods` `// Importing Arrays class from java.util package``import` `java.util.Arrays;` `// Main class``public` `class` `GFG {` `    ``// Main driver method``    ``public` `static` `void` `main(String[] args)``    ``{``        ``// Initialize array``        ``// The array contains 6 elements.``        ``int``[] array = ``new` `int``[] { -``5``, -``9``, ``8``, ``12``, ``1``, ``3` `};` `        ``// Displaying elements of original array``        ``System.out.print(``"Elements of original array: "``);``        ``for` `(``int` `i = ``0``; i < array.length; i++) {``            ``System.out.print(array[i] + ``" "``);``        ``}` `        ``// Using Arrays.sort() method to sort array``        ``// elements in ascending order.``        ``Arrays.sort(array);` `        ``System.out.println();` `        ``// Displaying elements of array after sorting``        ``System.out.println(``            ``"Elements of array sorted in ascending order : "``            ``+ Arrays.toString(array));``    ``}``}`

Output

```Elements of original array: -5 -9 8 12 1 3
Elements of array sorted in ascending order : [-9, -5, 1, 3, 8, 12]```

Time Complexity: O(n log(n)), where n is the size of an array.

My Personal Notes arrow_drop_up