Go語言程式:陣列排序
在本教程中,我們將學習如何編寫一個Go語言程式,使用三種不同的方法對陣列進行排序。
使用使用者自定義函式對整數陣列進行排序
以下程式碼演示瞭如何使用使用者自定義函式在Go語言中對陣列元素進行排序。
演算法
步驟 1 − 匯入fmt包。
步驟 2 − 定義一個名為sortArray()的函式,該函式將對給定的陣列進行排序。
步驟 3 − 將要排序的陣列作為引數傳遞給此函式。此函式使用兩個for迴圈遍歷陣列。
步驟 4 − 如果陣列的當前元素大於前一個元素,則需要交換它們的位置。
步驟 5 − 重複此過程,直到for迴圈遍歷所有陣列元素。返回新形成的陣列。
步驟 6 − 開始主函式。
步驟 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)
sort包中的Strings()函式接受要排序的字串陣列作為引數,並返回已排序的字串。
演算法
步驟 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語言程式來對陣列進行排序,並附帶了示例。
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP