Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk melaksanakan timbunan mudah menggunakan Golang

Bagaimana untuk melaksanakan timbunan mudah menggunakan Golang

PHPz
Lepaskan: 2023-04-03 13:38:49
asal
707 orang telah melayarinya

Dalam sains komputer, tindanan ialah struktur data yang penting. Tindanan boleh melaksanakan kaedah akses data "Masuk Dahulu Terakhir" (Masuk Dahulu Terakhir) dengan baik, jadi ia digunakan secara meluas dalam kod.

Bahasa Go (Golang) telah menjadi pilihan ramai pembangun kerana peruntukan memori yang cekap dan mekanisme pengumpulan sampah. Dalam artikel ini, kami akan memperkenalkan cara melaksanakan tindanan mudah menggunakan Golang.

Di Golang, kita boleh menggunakan kepingan untuk melaksanakan tindanan. Keratan ialah tatasusunan dinamik yang panjangnya boleh dilaraskan secara automatik, menjadikannya sangat sesuai untuk struktur data tindanan.

Berikut ialah struktur tindanan ringkas:

type Stack struct {
    data []int
}
Salin selepas log masuk

data ialah kepingan yang memegang jenis integer.

Seterusnya, kita boleh menambah tiga kaedah pada struktur: Push, Pop dan Peek. Kaedah Push digunakan untuk menambah elemen pada tindanan, kaedah Pop digunakan untuk mengeluarkan elemen daripada tindanan dan kaedah Peek digunakan untuk mendapatkan elemen di bahagian atas tindanan tanpa mengalih keluar ia.

Kod untuk menambah elemen adalah seperti berikut:

func (s *Stack) Push(n int) {
    s.data = append(s.data, n)
}
Salin selepas log masuk

Kod untuk memadam elemen adalah seperti berikut:

func (s *Stack) Pop() (int, bool) {
    if len(s.data) == 0 {
        return 0, false
    }
    lastIdx := len(s.data) - 1
    last := s.data[lastIdx]
    s.data = s.data[:lastIdx]
    return last, true
}
Salin selepas log masuk

Kod untuk mendapatkan elemen teratas ialah seperti berikut:

func (s *Stack) Peek() (int, bool) {
    if len(s.data) == 0 {
        return 0, false
    }
    lastIdx := len(s.data) - 1
    last := s.data[lastIdx]
    return last, true
}
Salin selepas log masuk

Di sini kami menggunakan sintaks fungsi yang mengembalikan berbilang nilai untuk mengembalikan hasil yang diperlukan dan pengecam sama ada operasi itu berjaya.

Sekarang, kita boleh mencipta tindanan dan menambah, mengalih keluar dan melihat elemennya dengan cara berikut:

stack := Stack{}
stack.Push(1)
stack.Push(2)
stack.Push(3)

val, ok := stack.Peek()
if ok {
    fmt.Println(val) // 3
}

val, ok = stack.Pop()
if ok {
    fmt.Println(val) // 3
}

val, ok = stack.Pop()
if ok {
    fmt.Println(val) // 2
}
Salin selepas log masuk

Kod di atas akan mencipta tindanan dan menambah 1, 2, 3 ditambah kepadanya. Kami kemudian akan melihat elemen atas timbunan (3), keluarkan elemen terakhir (3) dan keluarkan elemen terakhir sekali lagi (2).

Melalui artikel ini, kami memperkenalkan struktur tindanan mudah dan cara ia dilaksanakan di Golang. Stack ialah struktur data penting yang digunakan secara meluas dalam pembangunan algoritma dan perisian. Menguasai pengetahuan asas tindanan dan pelaksanaannya dalam Golang akan membantu anda memahami dan menggunakan tindanan dengan lebih baik.

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan timbunan mudah menggunakan Golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan