342_ 数据结构和算法的基本介绍-Go语言 数据结构与算法 | 15小时

AID:
CID:
视频图片:
作者头像:
弹幕地址:
视频描述:

热门回复:

  • HxllXwHxrizXn:音源很差
  • 学习使我happy哈哈哈:这不就是韩顺平的golang么
  • 90863600665_bili://环形列表删除,和老师的相比少一层循环 func (this *circleNode) Del(no int) *circleNode { //第一种情况,判断数组存在 if this.nextNode == nil { fmt.Println("环形链表为空") return this } //判断环形链表只有一个元素 if this.nextNode == this { this.nextNode = nil return this } //环形链表长度大于1 tmp := this //过渡节点,用于循环比较 next := this.nextNode //头节点的下一个节点,结束循环的判断条件,此方法是用当前节点的下一个节点来作比较,所以当最后一个节点是头节点的下一个节点时,头节点才能被比较,所以又新增一个结束循环标记,来跳过第一个循环 nextFlag := true //结束循环的判断条件 for { if tmp.nextNode.no == no { //判断删除的是头节点时,重新将头节点赋值 if tmp.nextNode == this { this = tmp.nextNode.nextNode } tmp.nextNode = tmp.nextNode.nextNode break } //当前节点的下一个节点是第二个节点时,并且不是第一次循环时,结束循环 if tmp.nextNode == next && nextFlag == false { break } nextFlag = false tmp = tmp.nextNode } return this }
  • 炒鸡代码:如果对源 码感兴趣的胖友,可以访问~ https://t.cn/A67Udmly
  • 库里法法:为什么不直接加个计数变量呢