(item *ListItem[T])
| 90 | } |
| 91 | |
| 92 | func (p *List[T]) Push(item *ListItem[T]) { |
| 93 | if item.list != nil { |
| 94 | panic("item already in list") |
| 95 | } |
| 96 | if p.Length == 0 { |
| 97 | p.Next = &p.ListItem |
| 98 | p.Pre = &p.ListItem |
| 99 | p.ListItem.list = p |
| 100 | } |
| 101 | p.Pre.InsertAfter(item) |
| 102 | } |
| 103 | |
| 104 | func (p *List[T]) UnshiftValue(value T) { |
| 105 | p.Unshift(&ListItem[T]{Value: value}) |