Golang melaksanakan senarai terpaut tunggal
Senarai pautan tunggal ialah struktur data yang terdiri daripada satu siri nod, setiap nod mengandungi data dan penuding ke nod seterusnya. Penunjuk nod terakhir senarai terpaut tunggal adalah batal, menunjukkan penghujung senarai terpaut.
Di Golang, kita boleh menggunakan struktur untuk mentakrifkan setiap nod dan penunjuk untuk mewakili kedudukan nod seterusnya. Berikut ialah pelaksanaan senarai pautan tunggal yang mudah:
package main import "fmt" type Node struct { data int next *Node } type List struct { head *Node } func (l *List) Insert(val int) { newNode := &Node{data: val} if l.head == nil { l.head = newNode } else { last := l.Last() last.next = newNode } } func (l *List) Last() *Node { node := l.head for node.next != nil { node = node.next } return node } func (l *List) Traverse() { node := l.head for node != nil { fmt.Printf("%d ", node.data) node = node.next } fmt.Printf(" ") } func main() { l := List{} for i := 0; i < 10; i++ { l.Insert(i) } l.Traverse() }
Dalam pelaksanaan ini, kami mentakrifkan struktur Nod, yang mengandungi data dan penuding seterusnya yang menunjuk ke nod seterusnya. Struktur Senarai mewakili keseluruhan senarai terpaut dan mengandungi penuding kepala yang menunjuk ke nod pertama.
Kaedah Sisip digunakan untuk memasukkan nilai ke dalam senarai terpaut. Jika senarai terpaut kosong, tetapkan nod baharu sebagai kepala jika tidak, cari nod terakhir dan arahkan penunjuk seterusnya ke nod baharu.
Kaedah terakhir mengembalikan nod terakhir senarai terpaut. Bermula dari kepala, lalui keseluruhan senarai terpaut sehingga nod terakhir ditemui.
Kaedah Traverse digunakan untuk melintasi keseluruhan senarai terpaut dan mengeluarkan semua elemen dalam senarai terpaut.
Dalam fungsi utama, kami mencipta contoh Senarai, memasukkan nilai ke dalamnya dan melintasi keseluruhan senarai terpaut untuk mengeluarkan keputusan.
Pelaksanaan di atas hanyalah contoh mudah dan boleh dipanjangkan dan diubah suai mengikut keperluan anda sendiri. Perlu diingat bahawa dalam pembangunan sebenar, semasa menulis senarai terpaut, kita perlu memberi perhatian kepada isu seperti kebocoran memori dan pertimbangan nilai nol penunjuk untuk memastikan keteguhan dan kecekapan kod.
Atas ialah kandungan terperinci Golang melaksanakan senarai terpaut tunggal. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Artikel ini menerangkan mekanisme import pakej Go: Dinamakan import (mis., Import & quot; fmt & quot;) dan import kosong (mis., Import _ & quot; fmt & quot;). Dinamakan import membuat kandungan pakej boleh diakses, sementara import kosong hanya melaksanakan t

Artikel ini memperincikan penukaran yang cekap hasil pertanyaan MySQL ke dalam kepingan struct go. Ia menekankan menggunakan kaedah imbasan pangkalan data/SQL untuk prestasi optimum, mengelakkan parsing manual. Amalan terbaik untuk pemetaan medan struct menggunakan tag db dan robus

Artikel ini menerangkan fungsi Newflash () Beego untuk pemindahan data antara halaman dalam aplikasi web. Ia memberi tumpuan kepada menggunakan NewFlash () untuk memaparkan mesej sementara (kejayaan, kesilapan, amaran) antara pengawal, memanfaatkan mekanisme sesi. Limita

Artikel ini meneroka kekangan jenis adat Go untuk generik. Ia memperincikan bagaimana antara muka menentukan keperluan jenis minimum untuk fungsi generik, meningkatkan keselamatan jenis dan kebolehgunaan semula kod. Artikel ini juga membincangkan batasan dan amalan terbaik

Artikel ini menunjukkan penciptaan dan stub di GO untuk ujian unit. Ia menekankan penggunaan antara muka, menyediakan contoh pelaksanaan mengejek, dan membincangkan amalan terbaik seperti menjaga mocks fokus dan menggunakan perpustakaan penegasan. Articl

Artikel ini memperincikan penulisan fail yang cekap di GO, membandingkan OS.WriteFile (sesuai untuk fail kecil) dengan os.openfile dan buffered menulis (optimum untuk fail besar). Ia menekankan pengendalian ralat yang teguh, menggunakan penangguhan, dan memeriksa kesilapan tertentu.

Artikel ini membincangkan ujian unit menulis di GO, meliputi amalan terbaik, teknik mengejek, dan alat untuk pengurusan ujian yang cekap.

Artikel ini meneroka menggunakan alat pengesanan untuk menganalisis aliran pelaksanaan aplikasi GO. Ia membincangkan teknik instrumentasi manual dan automatik, membandingkan alat seperti Jaeger, Zipkin, dan OpenTelemetry, dan menonjolkan visualisasi data yang berkesan
