English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Golang 基礎トレーニング

Golang の制御文

Golang の関数とメソッド

Golang の構造体

Golang のスライスと配列

Golang の文字列(String)

Golang のポインタ

Golang のインターフェース

Golang の並行処理

Golang の例外(Error)

Golang その他の雑多

Go 言語のスライスソート

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