Go标准库学习笔记-循环链表 (container/ring)

本文介绍了Go标准库中的Ring结构,一种循环链表,无头尾之分,可以从任意节点开始遍历。文章详细讲解了Ring的创建、遍历、链接与拆分操作,包括New、Next、Prev、Link、Unlink方法的使用,并通过Do方法展示了如何通过策略模式在Ring上实现不同操作,如节点遍历和值求和。
摘要由CSDN通过智能技术生成

概述

Ring是一种循环链表结构,没有头尾,从任意一个节点出发都可以遍历整个链。其定义如下,Value表示当前节点的值:

type Ring struct {
        Value interface{} 
}

类型方法

New

Ring.New用于创建一个新的Ring,接收一个整形参数,用于初始化Ring的长度,其方法定义如下:

func New(n int) *Ring

Next & Prev

作为一个链表,最重要的操作进行遍历,可以通过Next和Prev方法获取当前节点的上一个节点和下一个节点,方法定义如下:

func (
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值