Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Ring ¶
type Ring[T any] struct { Value T // 环元素的值 // contains filtered or unexported fields }
Ring 是环形链表(或环)的一个元素。 环没有起点或终点;指向任何环元素的指针都可以作为整个环的引用。 空环表示为 nil Ring 指针。Ring 的零值是一个包含 nil Value 的单元素环。
func New ¶
New 函数创建一个长度为 n 的 Ring 结构体指针,泛型参数 T 为 Ring 存储的数据类型。 如果 n 小于等于 0,则返回 nil。
参数:
n: Ring 的长度
返回值:
*Ring[T]: 指向 Ring 结构体的指针,如果 n 小于等于 0,则返回 nil
func (*Ring[T]) Link ¶
Link 函数用于将两个环(Ring)s 和 that 链接在一起。
参数:
s: *Ring[T] 类型,表示需要链接的另一个环。
返回值:
*Ring[T] 类型,返回链接后的新环的尾节点。
说明:
该函数将环 s 链接到环 that 后面,并返回链接后的新环的尾节点。 如果 s 为 nil,则该函数不会进行任何操作并返回 that 的尾节点。 如果 that 和 s 是同一个环,则该函数将删除 that 和 s 之间的节点,并更新环的长度。 如果 that 和 s 是不同的环,则该函数将两个环合并为一个环,并更新环的长度。
func (*Ring[T]) Move ¶
Move 方法用于移动 Ring 指针。
参数:
n int:移动步数,可以为正数、负数或零。正数表示向前移动,负数表示向后移动。
返回值:
*Ring[T]:移动后的 Ring 指针。
func (*Ring[T]) Next ¶
Prev 返回当前节点的下一个节点
如果当前节点无后一个节点(即当前节点是环的最后一个节点),则调用 init 方法初始化环,并返回初始化后的环的最后节点
返回值:
*Ring[T]:返回后一个节点,如果没有后一个节点则返回初始化后的环的最后节点
Click to show internal directories.
Click to hide internal directories.