package main
import (
"fmt"
)
type list struct {
head *listNode
data int
}
type listNode struct {
next *listNode
data int
}
func newList() *list {
l := list{}
l.head = &listNode{}
return &l
}
func (l *list) append(value int) {
h := l.head
for h.next != nil {
h = h.next
}
h.next = &listNode{data: value}
}
func (l *list) delete(value int) {
for h := l.head; h != nil && h.next != nil; {
if h.next.data == value {
h.next = h.next.next
continue
}
h = h.next
}
}
func (l *list) sort() {
o := l.head.next
l.head.next = nil
for o != nil {
h := l.head
for h.next != nil && h.next.data > o.data {
h = h.next
}
n := o.next
o.next = h.next
h.next = o
o = n
}
}
func (l *list) print() {
fmt.Print("head")
for h := l.head.next; h != nil; h = h.next {
fmt.Print(" -> ", h.data)
}
fmt.Println()
}
func main() {
l := newList()
l.append(1)
l.append(2)
l.append(3)
l.append(4)
l.print()
l.sort()
l.print()
}
Go數(shù)據(jù)結(jié)構(gòu)——鏈表
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
- 文/潘曉璐 我一進店門煌茴,熙熙樓的掌柜王于貴愁眉苦臉地迎上來随闺,“玉大人,你說我怎么就攤上這事蔓腐【乩郑” “怎么了?”我有些...
- 文/不壞的土叔 我叫張陵合住,是天一觀的道長绰精。 經(jīng)常有香客問我,道長透葛,這世上最難降的妖魔是什么? 我笑而不...
- 正文 為了忘掉前任卿樱,我火速辦了婚禮僚害,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘繁调。我一直安慰自己萨蚕,他們只是感情好,可當(dāng)我...
- 文/花漫 我一把揭開白布蹄胰。 她就那樣靜靜地躺著岳遥,像睡著了一般。 火紅的嫁衣襯著肌膚如雪裕寨。 梳的紋絲不亂的頭發(fā)上浩蓉,一...
- 文/蒼蘭香墨 我猛地睜開眼月培,長吁一口氣:“原來是場噩夢啊……” “哼嘁字!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起杉畜,我...
- 正文 年R本政府宣布构罗,位于F島的核電站,受9級特大地震影響智玻,放射性物質(zhì)發(fā)生泄漏遂唧。R本人自食惡果不足惜,卻給世界環(huán)境...
- 文/蒙蒙 一吊奢、第九天 我趴在偏房一處隱蔽的房頂上張望盖彭。 院中可真熱鬧,春花似錦页滚、人聲如沸召边。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽隧熙。三九已至,卻和暖如春幻林,著一層夾襖步出監(jiān)牢的瞬間贞盯,已是汗流浹背。 一陣腳步聲響...
推薦閱讀更多精彩內(nèi)容
- Go語言數(shù)據(jù)結(jié)構(gòu)和算法-DoubleLinkedList(雙向鏈表) 雙向鏈表的數(shù)據(jù)結(jié)構(gòu) Prepend(val)...
- 頭條和抖音火了魏滚,我們又見證了繼微信和QQ之后又一款正在走入每個人生活標(biāo)配的軟件镀首。我一直在想,是什么讓它們在極短的時...
- 昨天湖南沅江高三生羅某杰“一時沖動”刺死了班主任鼠次,又有一道寒冷的閃電從我的骨頭縫穿過更哄。想想自己從教8年芋齿,期間也當(dāng)過...
- iOS UITableView 解決估算行高和指定行高的矛盾 1、一般來說 在iOS 中若UITableViewC...