Rumah  >  Artikel  >  pembangunan bahagian belakang  >  golang array flip

golang array flip

王林
王林asal
2023-05-27 10:40:07889semak imbas

Apabila menggunakan golang untuk operasi tatasusunan, kadangkala anda perlu menterbalikkan tatasusunan. Jadi persoalannya, bagaimana menggunakan golang untuk melaksanakan flipping tatasusunan? Artikel ini akan memperkenalkan dua kaedah.

Kaedah 1: Gunakan untuk gelung untuk menyelak elemen tatasusunan

Gunakan untuk gelung untuk membalikkan elemen tatasusunan adalah seperti berikut:

  1. Tentukan arr tatasusunan. dan pembolehubah n, n mewakili panjang tatasusunan.
  2. Gunakan gelung for untuk menukar elemen ke-i tatasusunan dengan elemen n-i-1. Bilangan pertukaran ialah n/2.
  3. Selepas flip selesai, keluarkan elemen arr tatasusunan.

Berikut ialah pelaksanaan kod khusus:

package main

import (
    "fmt"
)

func main() {
    arr := []int{1, 2, 3, 4, 5}
    n := len(arr)

    for i := 0; i < n/2; i++ {
        arr[i], arr[n-i-1] = arr[n-i-1], arr[i]
    }

    fmt.Println(arr)
}

Kod ini akan mengeluarkan [5 4 3 2 1].

Kaedah 2: Gunakan pakej isihan untuk membalikkan elemen tatasusunan

Pakej isihan dalam golang menyediakan fungsi Songsang, yang boleh membalikkan tatasusunan. Langkah pelaksanaan khusus adalah seperti berikut:

  1. Tentukan susunan tatasusunan.
  2. Gunakan fungsi sort.Reverse untuk membalikkan tatasusunan.
  3. Selepas flip selesai, keluarkan elemen arr tatasusunan.

Berikut ialah pelaksanaan kod khusus:

package main

import (
    "fmt"
    "sort"
)

func main() {
    arr := []int{1, 2, 3, 4, 5}
    sort.Sort(sort.Reverse(sort.IntSlice(arr)))
    fmt.Println(arr)
}

Kod ini akan mengeluarkan [5 4 3 2 1].

Ringkasan

Kedua-dua kaedah boleh mencapai membalikkan elemen tatasusunan Menggunakan gelung for adalah lebih mudah dan jelas, tetapi menggunakan pakej isihan untuk melaksanakan kod adalah lebih ringkas dan cekap. Dalam pembangunan sebenar, kaedah mana yang perlu dipilih harus dipilih berdasarkan keperluan dan keadaan sebenar.

Atas ialah kandungan terperinci golang array flip. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn