linkedlist

package
v0.0.0-...-cc87e01 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 28, 2025 License: MIT Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CircleLinkedList

type CircleLinkedList struct {
	// contains filtered or unexported fields
}

func (*CircleLinkedList) Append

func (l *CircleLinkedList) Append(data interface{})

func (*CircleLinkedList) InsertAfter

func (l *CircleLinkedList) InsertAfter(index int, data interface{})

func (*CircleLinkedList) InsertBefore

func (l *CircleLinkedList) InsertBefore(index int, data interface{})

func (*CircleLinkedList) IsEmpty

func (l *CircleLinkedList) IsEmpty() bool

func (*CircleLinkedList) Length

func (l *CircleLinkedList) Length() int

func (*CircleLinkedList) Remove

func (l *CircleLinkedList) Remove(index int)

func (*CircleLinkedList) Shows

func (l *CircleLinkedList) Shows()

type CircleLinkedLister

type CircleLinkedLister interface {
	IsEmpty() bool
	Length() int
	Append(data interface{})                  // 尾部追加节点
	InsertBefore(index int, data interface{}) // 在指定索引位置之前插入
	InsertAfter(index int, data interface{})  // 在指定索引位置之后插入
	Remove(index int)                         // 移除指定索引位置的节点
	Shows()                                   // 遍历显示
}

func NewCircleLinkedList

func NewCircleLinkedList() CircleLinkedLister

type CircleLinkedNode

type CircleLinkedNode struct {
	//Prior *CircleLinkedNode // 指向前驱节点的指针域
	Data interface{}       // 数据域
	Next *CircleLinkedNode // 指向后继节点的指针域
}

type DataType

type DataType interface{}

节点数据

type DoubleLinkedList

type DoubleLinkedList struct {
	// contains filtered or unexported fields
}

func (*DoubleLinkedList) Append

func (l *DoubleLinkedList) Append(data interface{})

func (*DoubleLinkedList) Get

func (l *DoubleLinkedList) Get(index int) *DoubleLinkedNode

func (*DoubleLinkedList) IsEmpty

func (l *DoubleLinkedList) IsEmpty() bool

func (*DoubleLinkedList) Length

func (l *DoubleLinkedList) Length() int

func (*DoubleLinkedList) RemoveAt

func (l *DoubleLinkedList) RemoveAt(index int)

func (*DoubleLinkedList) Shows

func (l *DoubleLinkedList) Shows()

type DoubleLinkedLister

type DoubleLinkedLister interface {
	RemoveAt(index int)
	Append(data interface{})
	IsEmpty() bool
	Length() int
	Get(index int) *DoubleLinkedNode
	Shows()
}

func NewDoubleLinkedList

func NewDoubleLinkedList() DoubleLinkedLister

type DoubleLinkedNode

type DoubleLinkedNode struct {
	Prior *DoubleLinkedNode // 前驱节点指针域
	Data  interface{}       // 数据域
	Next  *DoubleLinkedNode // 后继节点指针域
}

type SingleLinkedList

type SingleLinkedList struct {
	Head *SingleLinkedNode
	// contains filtered or unexported fields
}

单向链表

func (*SingleLinkedList) Append

func (l *SingleLinkedList) Append(data interface{})

尾部追加

func (*SingleLinkedList) Insert

func (l *SingleLinkedList) Insert(index int, data interface{})

func (*SingleLinkedList) IsEmpty

func (l *SingleLinkedList) IsEmpty() bool

判断单向链表是否为空

func (*SingleLinkedList) Length

func (l *SingleLinkedList) Length() int

func (*SingleLinkedList) Prepend

func (l *SingleLinkedList) Prepend(data interface{})

func (*SingleLinkedList) RemoveAt

func (l *SingleLinkedList) RemoveAt(index int) error

func (*SingleLinkedList) Shows

func (l *SingleLinkedList) Shows()

遍历所有节点

type SingleLinkedLister

type SingleLinkedLister interface {
	Length() int                        // 获取长度
	Prepend(data interface{})           // 前置追加
	Append(data interface{})            // 后置追加
	Insert(index int, data interface{}) // 在指定index位置插入节点
	RemoveAt(index int) error           // 移除指定index位置的节点
	Shows()                             // 显示所有
}

单向链表的操作方法集

func NewSingeLinkedList

func NewSingeLinkedList() SingleLinkedLister

单向链表的初始化,带独立头节点,以便后续操作

type SingleLinkedNode

type SingleLinkedNode struct {
	Data DataType          // 数据域
	Next *SingleLinkedNode // 指针域,指向下一个节点的地址
}

单向链表的节点

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL