Golang 对数组进行排序

Golang 对数组进行排序

在本教程中,我们将学习使用三种不同的方法编写一个使用Go语言对数组进行排序的程序。

使用用户定义的函数对整数数组进行排序

以下代码演示了如何使用用户定义的函数在Golang中对数组元素进行排序。

步骤

步骤1 - 导入fmt包。

步骤2 - 定义一个名为sortArray()的函数,用于排序给定的数组。

步骤3 - 将要排序的数组作为参数传递给这个函数。此函数使用两个for循环来遍历数组。

步骤4 - 如果数组的当前元素大于前一个元素,则需要交换它们的位置。

步骤5 - 重复这个过程,直到for循环迭代到所有数组元素。返回得到的新数组。

步骤6 - 开始main函数。

步骤7 - 初始化一个整数数组,并在屏幕上打印出来。

步骤8 - 调用sortArray()函数。

步骤9 - 将函数返回的数组存储在名为result的变量中,并使用fmt.Println()函数在屏幕上打印出来。

示例

package main
import "fmt"

// defining a sortArray function to sort the given array
func sortArray(arr [5]int) [5]int {
   for i := 0; i <= len(arr)-1; i++ {
      for j := 0; j < len(arr)-1-i; j++ {
         if arr[j] > arr[j+1] {
            arr[j], arr[j+1] = arr[j+1], arr[j]
         }
      }
   }
   return arr
}
func main() {
   arr := [5]int{50, 30, 20, 10, 40}
   fmt.Println("The unsorted array entered is:", arr)
   result := sortArray(arr)
   fmt.Println("The sorted array is:", result)
   fmt.Println()
   arr = [5]int{2, 8, 6, 3, 1}
   fmt.Println("The unsorted array entered is:", arr)
   result = sortArray(arr)
   fmt.Println("The sorted array is:", result)
}

输出

The unsorted array entered is: [50 30 20 10 40]
The sorted array is: [10 20 30 40 50]

The unsorted array entered is: [2 8 6 3 1]
The sorted array is: [1 2 3 6 8]

使用预定义函数按升序对字符串数组进行排序

下面的代码示例演示了如何在Go编程语言中对字符串数组进行排序

语法

Sort.Strings(strs)

Strings()函数存在于sort包中,它接受一个要排序的字符串数组作为参数,并返回已排序的字符串。

步骤

步骤1 - 导入fmt和sort包。

步骤2 - 开始main()函数。

步骤3 - 初始化一个字符串数组并将值存储到其中。将未排序的数组打印在屏幕上。

步骤4 - 现在我们需要通过将要排序的数组作为参数传递给sort包中的strings函数来调用该函数。

步骤5 - 现在strs数组已经排序。我们可以使用fmt.Println()函数将其打印在屏幕上。

示例

package main
import (
   "fmt"
   "sort"
)
func main() {
   var strs = []string{"c", "a", "b"}
   fmt.Println("Unsorted array of strings is", strs)
   sort.Strings(strs)
   fmt.Println("The above array is sorted and the result is:", strs)
}

输出

Unsorted array of strings is [c a b]
The above array is sorted and the result is: [a b c]

结论

我们成功地编译并执行了一个Go语言程序来对数组进行排序,并附带了示例。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程