Go Program to Sort an Array in Descending Order

1. Introduction

In this article, we will learn how to write a Go program to sort the given array in descending order.

2. Program Overview

Steps:

1. Creating a pre-populated array of integers.

2. An implementation of a sorting algorithm to sort an array of integers in descending order.

3. Display the sorted array to the user.

3. Code Program

// Beginning with the declaration of the main package.
package main

// The fmt package for input-output needs.
import "fmt"

// Implementing Bubble Sort to achieve descending order.
func bubbleSortDescending(arr []int) []int {
    n := len(arr)
    for i := 0; i < n-1; i++ {
        for j := 0; j < n-i-1; j++ {
            // Altering the comparison to tailor Bubble Sort for descending order.
            if arr[j] < arr[j+1] {
                arr[j], arr[j+1] = arr[j+1], arr[j]
            }
        }
    }
    return arr
}

// The crux, our main function.
func main() {
    array := []int{64, 34, 25, 12, 22, 11, 90}
    fmt.Println("Original Array:", array)

    // The transformation process to descending order.
    sortedArray := bubbleSortDescending(array)
    fmt.Println("Sorted in Descending Order:", sortedArray)
}

Output:

Upon execution, the program will recite:
Original Array: [64 34 25 12 22 11 90]
Sorted in Descending Order: [90 64 34 25 22 12 11]

4. Step By Step Explanation

1. Package and Import: As always, we go with package main and the fmt package for printing and formatting.

2. Bubble Sort Descending Mechanism: 

  • Take the length of the list. 
  • Go through the list repeatedly using two nested loops. 
  • In each iteration, compare adjacent numbers. 
  • Swap numbers if the current one is smaller than the next. 
  • Repeat until the list is fully sorted in descending order.

3. Main Function: 

  • Declare an array of numbers: {64, 34, 25, 12, 22, 11, 90}. 
  • Display the original array. 
  • Use the bubbleSortDescending function to sort the array. 
  • Display the array after sorting.

Continue Learning with Java Guides

Want to take your programming skills to the next level? Explore my practical Udemy courses on Java, Spring Boot, Microservices, Full-Stack Development, Docker, and Generative AI. You can also follow my structured learning roadmaps to become a professional developer.

By Ramesh Fadatare - Udemy Instructor Partner

Comments