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.

Comments