English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Go言語では、スライス比配列より強力で、柔軟で便利で、軽量のデータ構造です。スライスは可変長のシーケンスで、似た種類の要素を格納するために使用され、同一切片中に異なる種類の要素を格納することは許可されていません。
Go言語では、スライスのタイプに応じてスライスの要素をソートすることができます。したがって、以下の関数を使用してint型のスライスをソートします。これらの関数はsortパッケージで定義されているため、これらの関数にアクセスするには、プログラムでsortパッケージをインポートする必要があります:
1.整数:この関数は、整数スライスをソートし、スライスの要素を昇順に並べ替えるために使用されます。
文法:
func Ints(slc []int)
ここでは、slcを示します。この概念について説明するために、例を使用しましょう:
//整数をソート 与えられたintスライスがソート済みかどうか package main import ( "fmt" ) // メイン関数 "sort" //簡略宣言を使用して、スライスの作成と初期化 00}1 scl40, 60, 10使用簡略宣言 30, 50, 20, 900, 00}2 scl-23, 0, 567, 0, -34, 0, 67:= []int{ 12, 0, -5} //, fmt.Println("スライス(前):") fmt.Println("スライス 1: ", scl1) fmt.Println("スライス 2: ", scl2) //整数スライスをソート //Ints関数を使用 sort.Ints (scl1) sort.Ints (scl2) //結果を表示 fmt.Println("\nスライス(後):") fmt.Println("スライス 1 : ", scl1) fmt.Println("スライス 2 : ",scl2) }
出力:
スライス(前): スライス 1: [400 600 100 300 500 200 900] スライス 2: [-23 567 -34 67 0 12 -5] スライス(後): スライス 1 : [100 200 300 400 500 600 900] スライス 2 : [-34 -23 -5 0 12 67 567]
2. IntsAreSorted:この関数は、与えられたintスライスがソート形式(昇順に並べ替えられた)かどうかを確認するために使用されます。スライスがソート形式の場合、このメソッドはtrueを返します;スライスがソート形式でない場合、falseを返します。
文法:
func IntsAreSorted(scl []int) bool
ここでは、00}を示しますintsの一部。この概念について説明するために、例を使用しましょう:
//どうしてソートを確認するか //Goプログラムの説明 与えられたintスライスがソート済みかどうか package main import ( "fmt" ) "sort" //func main() { //スライスの作成と初期化 00}1 scl10使用簡略宣言 20, 30, 40, 50, 60, 700, 00}2 scl-23, 0, 567, 0, -34, 0, 67:= []int{ 12, 0, -5} //, fmt.Println("スライス:") fmt.Println("スライス1: ", scl1) fmt.Println("スライス2: ", scl2) //スライスがソート形式かどうかを確認 //IntsAreSorted関数を使用 res1 := sort.IntsAreSorted(scl1) res2 := sort.IntsAreSorted(scl2) //結果を表示 fmt.Println("\n結果:") fmt.Println("スライス1ソート済みですか?: ", res1) fmt.Println("スライス2ソート済みですか?: ", res2) }
出力:
スライス: スライス1: [100 200 300 400 500 600 700] スライス2: [-23 567 -34 67 0 12 -5] 結果: スライス1ソート済みですか?: true スライス2既にソートされていますか?: false