Scala program to sort an array in ascending order using quicksort with recursion

Here, we are going to learn how to sort an array in ascending order using quicksort with recursion in Scala programming language?
Submitted by Nidhi, on May 09, 2021 [Last updated : March 10, 2023]

Scala – Sorting Array in Ascending Order using Quicksort Sort

Here, we will create an array of integers and then we will sort the created array using quicksort with recursion.

Scala code to sort an array in ascending order using quicksort sort

The source code to sort an array in ascending order using quicksort with recursion is given below. The given program is compiled and executed on the ubuntu 18.04 operating system successfully.

// Scala program to sort an array 
// using quicksort with recursion

object Sample {  
    def QuickSort(arr:Array[Int], first:Int, last:Int){
        var pivot:Int=0
        var temp:Int=0
        var i:Int=0
        var j:Int=0
        
        if(first < last)
        {
            pivot = first
            i = first
            j = last
            
            while(i<j)
            {
                while(arr(i)<=arr(pivot) && i<last)
                {
                    i=i+1;
                }
                while (arr(j) > arr(pivot))
                {
                    j = j - 1
                }
                if(i < j)
                {
                    temp = arr(i)
                    arr(i) = arr(j)
                    arr(j) = temp
                }
            }
            temp = arr(pivot)
            arr(pivot) = arr(j)
            arr(j) = temp
            QuickSort(arr, first, j - 1)
            QuickSort(arr, j + 1, last)
        }
    }
    
    def main(args: Array[String]) {  
        var IntArray = Array(31,15,42,14,23)
        var i:Int=0
        
        QuickSort(IntArray,0,4);
        
        i=0;
        println("Sorted Array: ");
        while(i<5)
        {
            printf("%d ",IntArray(i));
            i=i+1;
        }
        println()
    }
}

Output

Sorted Array: 
14 15 23 31 42 

Explanation

In the above program, we used an object-oriented approach to create the program. We created an object Sample, and we defined main() function. The main() function is the entry point for the program.

Here, we defined a method QuickSort() to sort an array in ascending order. And, we use recursion to use apply the quick sort process effectively. Using the QuickSort() method, we divide the given array into small sub-arrays. Then we sort sub-arrays recursively.

In the main() function, we created an array IntArray that contains 5 integer items. Then we sorted the created array in ascending order using quicksort. After that, we printed the sorted array on the console screen.

Scala Array Programs »



Related Programs



Comments and Discussions!

Load comments ↻





Copyright © 2024 www.includehelp.com. All rights reserved.