Go語言程式:按升序排列陣列元素
在本教程中,我們將學習如何編寫一個 Go 語言程式,用於按升序排列陣列。
使用使用者自定義函式按升序排列陣列
以下程式碼演示瞭如何在 Go 語言中按升序排列元素陣列。
演算法
步驟 1 − 匯入 fmt 包。
步驟 2 − 定義一個函式 sortArray() 來排序給定的陣列。
步驟 3 − 將引數傳遞給 sortArray() 函式,其中一個是我們要排序的整數陣列,另外兩個變數用於儲存臨時值。
步驟 4 − 使用 for 迴圈和 if 條件來排序陣列。第一個 for 迴圈用於遍歷未排序的陣列。
步驟 5 − 第二個 for 迴圈用於獲取陣列中存在的最小值。然後透過使用一個臨時變數,我們將較小的值放在較大的值之後。
步驟 6 − 開始 main() 函式。
步驟 7 − 初始化一個整數陣列並在其中儲存值。在螢幕上列印未排序的陣列。
步驟 8 − 然後我們需要呼叫 sortArray() 函式,並將要排序的陣列以及 temp 和 min 整數型別變數傳遞給它。
步驟 9 − 儲存函式返回的陣列,並使用 fmt.Println() 函式在螢幕上列印它。
示例
package main
import "fmt"
func sortArray(arr [5]int, min int, temp int) [5]int {
for i := 0; i <= 4; i++ {
min = i
for j := i + 1; j <= 4; j++ {
if arr[j] < arr[min] {
// changing the index to show the min value
min = j
}
}
temp = arr[i]
arr[i] = arr[min]
arr[min] = temp
}
return arr
}
func main() {
arr := [5]int{50, 30, 20, 10, 40}
fmt.Println("The unsorted array entered is:", arr)
var min int = 0
var temp int = 0
array := sortArray(arr, min, temp)
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: [10 20 30 40 50]
使用排序函式對整數陣列進行排序
以下程式碼演示瞭如何在 Go 程式語言中使用預定義函式對字串陣列進行排序。
語法
sort.Ints(arr)
Ints 函式存在於 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.Ints(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: [3 4 5 7 8 9]
使用切片方法按升序排列字串陣列
現在讓我們編寫一個程式,使用 Go 程式語言中的預定義函式按升序排列字串陣列。
語法
sort.Sort(sort.StringSlice(arr))
StringSlice() 函式存在於 sort 包中,它將要排序的字串陣列作為引數,並返回排序後的字串。
演算法
步驟 1 − 匯入 fmt 和 sort 包。
步驟 2 − 開始 main() 函式。
步驟 3 − 初始化一個字串陣列並在其中儲存值。在螢幕上列印未排序的陣列。
步驟 4 − 現在我們需要呼叫 sort 包中的 StringSlice() 函式,並將要排序的陣列作為引數傳遞給該函式。
步驟 5 − arr 陣列現在已排序。我們可以使用 fmt.Println() 函式在螢幕上列印它。
示例
package main
import (
"fmt"
"sort"
)
func main() {
var arr = []string{"s", "d", "c", "b", "a"}
fmt.Println("Unsorted array of strings is", arr)
sort.Sort(sort.StringSlice(arr))
fmt.Println("The above array is sorted and the result is:", arr)
}
輸出
Unsorted array of strings is [s d c b a] The above array is sorted and the result is: [a b c d s]
結論
我們已經成功編譯並執行了一個 Go 語言程式,用於按升序排列陣列,並附帶示例。在第一個示例中,我們使用了使用者自定義函式,在第二個示例中,我們使用了 Sort() 的內建函式,在第三個示例中,我們使用了另一種切片方法。
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP