Go语言程序:按降序排列数组元素
在本教程中,我们将学习如何编写一个Go语言程序,用于按降序排列数组。在数学中,降序是指后续元素小于前一个元素的顺序。
使用外部函数按降序排列数组
在这个例子中,我们将学习如何编写一个程序,使用用户自定义函数按降序排列整数数组。
算法
步骤 1 − 导入fmt包
步骤 2 − 定义一个函数sortDesc()来对给定数组进行排序。此函数接受一个参数,即我们要排序的整数数组。
步骤 3 − 该函数使用两个for循环和if条件来对数组进行排序。
步骤 4 − 使用第一个for循环迭代未排序的数组,使用第二个for循环获取数组中存在的最小值。
步骤 5 − 然后使用一个临时变量将较小的值放在较大的值之后。
步骤 6 − 开始main()函数。
步骤 7 − 初始化一个整数数组并向其中存储值。在屏幕上打印未排序的数组。
步骤 8 − 然后我们需要调用sortDesc()函数,并将要排序的数组作为参数传递给该函数。
步骤 9 − 存储函数返回的数组,并使用fmt.Println()函数在屏幕上打印它。
示例
下面的代码演示了如何在Go语言中按降序排列数组元素。
package main
import "fmt"
func sortDesc(arr [5]int) [5]int {
for i := 0; i < len(arr); i++ {
for j := 1 + i; j < len(arr); j++ {
if arr[i] < arr[j] {
intermediate := arr[i]
arr[i] = arr[j]
arr[j] = intermediate
}
}
}
return arr
}
func main() {
arr := [5]int{50, 30, 20, 10, 40}
fmt.Println("The unsorted array entered is:", arr)
array := sortDesc(arr)
fmt.Println()
fmt.Println("The final array obtained after sorting is:", array)
}
输出
The unsorted array entered is: [50 30 20 10 40] The final array obtained after sorting is: [50 40 30 20 10]
使用Ints()函数按降序排列数组
下面的代码演示了如何在Go语言中使用预定义函数按降序排列整数数组。
语法
sort.Sort(sort.Reverse(sort.IntSlice(arr)))
Ints()函数位于sort包中,用于对整数数组进行排序。该函数接受未排序的整数数组,并通过排序返回该数组。Reverse()函数位于sort包中。此函数接受需要按反序排序的数据作为参数,并通过反转其值返回数组的切片。
算法
步骤 1 − 导入fmt和sort包。
步骤 2 − 开始main()函数。
步骤 3 − 初始化一个整数数组并向其中存储值。在屏幕上打印未排序的数组。
步骤 4 − 现在我们需要调用sort包中的Ints()函数,并将要排序的数组作为参数传递给该函数。
步骤 5 − arr数组现在已排序。我们可以使用fmt.Println()函数在屏幕上打印它。
示例
package main
import (
"fmt"
"sort"
)
func main() {
var arr = []int{9, 8, 7, 4, 5, 3}
fmt.Println("Unsorted array of strings is", arr)
sort.Sort(sort.Reverse(sort.IntSlice(arr)))
fmt.Println("The above array is sorted and the result is:", arr)
}
输出
Unsorted array of strings is [9 8 7 4 5 3] The above array is sorted and the result is: [9 8 7 5 4 3]
使用StringSlice()方法按降序排列字符串数组
现在让我们编写一个程序,使用Go语言中的预定义函数按降序排列字符串数组。
语法
sort.Sort(sort.Reverse(sort.StringSlice(arr)))
StringSlice()函数位于sort包中,它接受要排序的字符串数组作为参数,并返回已排序的字符串。Reverse()函数位于sort包中。此函数接受需要按反序排序的数据作为参数,并通过反转其值返回数组的切片。
算法
步骤 1 − 导入fmt和sort包。
步骤 2 − 开始main()函数。
步骤 3 − 初始化一个字符串数组并向其中存储值。在屏幕上打印未排序的数组。
步骤 4 − 现在我们需要调用sort包中的StringSlice()函数,并将要排序的数组作为参数传递给该函数。
步骤 5 − arr数组现在已排序。我们可以使用fmt.Println()函数在屏幕上打印它。
示例
package main
import (
"fmt"
"sort"
)
func main() {
var arr = []string{"a", "b", "c", "d", "s"}
fmt.Println("Unsorted array of strings is", arr)
sort.Sort(sort.Reverse(sort.StringSlice(arr)))
fmt.Println("The above array is sorted and the result is:", arr)
}
输出
Unsorted array of strings is [a b c d s] The above array is sorted and the result is: [s d c b a]
结论
我们已经成功编译并执行了一个Go语言程序,用于按降序排列数组,并附带示例。
数据结构
网络
关系型数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP