当前位置: 首页 > news >正文

宁夏网站建设哪家好深圳建网站服务

宁夏网站建设哪家好,深圳建网站服务,网站搭建空间,模板做网站优缺点单向链表实现lru package mainimport fmtfunc main() {// 实现一个lru 淘汰算法// linked 结构体// node 节点 #xff1a; data prev next// 更新lru// 如果没有满// 将新的数据加入到头结点// 队满 #xff1a; 删除尾结点// 将新数据加入头结点linkedObj : g…单向链表实现lru package mainimport fmtfunc main() {// 实现一个lru 淘汰算法// linked 结构体// node 节点 data prev next// 更新lru// 如果没有满// 将新的数据加入到头结点// 队满 删除尾结点// 将新数据加入头结点linkedObj : getLinked[int](5)linkedObj.insert(6)linkedObj.insert(5)linkedObj.insert(4)linkedObj.insert(3)linkedObj.insert(2)linkedObj.insert(1)linkedObj.insert(0)//fmt.Printf(当前节点: %v\n, linkedObj)fmt.Printf(当前节点: %v\n, linkedObj.head.next.data)linkedObj.foreach() }type linked[T int | string | map[string]string] struct {head *node[T]length intlimit int }type node[T int | string | map[string]string] struct {data Tnext *node[T] }func getLinked[T int | string | map[string]string](limit int) *linked[T] {headNode : node[T]{}return linked[T]{head: headNode,length: 0,limit: limit,} }func createNode[T int | string | map[string]string](data T) *node[T] {return node[T]{data: data,next: nil,} }func (l *linked[T]) insert(data T) bool {newNode : createNode(data)headNode : l.head.nextnewNode.next l.head.nextl.head.next newNodeif l.length l.limit {prevNode : headNodefor headNode.next ! nil {prevNode headNodeheadNode headNode.next}prevNode.next nil} else {l.length}return true }func (l *linked[T]) foreach() {headNode : l.head.nextfor headNode.next ! nil {headNode headNode.nextfmt.Printf(当前节点: %v\n, headNode.data)} }双向链表 package mainimport fmtfunc main() {// 实现一个双向循环链表linkedObj : getLinked[int](5)linkedObj.headInsert(6)linkedObj.headInsert(5)linkedObj.headInsert(4)linkedObj.headInsert(3)linkedObj.headInsert(2)linkedObj.headInsert(1)linkedObj.headInsert(0)//fmt.Printf(当前节点: %v\n, linkedObj)//fmt.Printf(当前节点: %v\n, linkedObj.head.next.data)linkedObj.headForeach()//linkedObj.tailForeach() }type linked[T int | string | map[string]string] struct {head *node[T]length intlimit int }type node[T int | string | map[string]string] struct {data Tnext *node[T]prev *node[T] }func getLinked[T int | string | map[string]string](limit int) *linked[T] {return linked[T]{head: nil,length: 0,limit: limit,} }func createNode[T int | string | map[string]string](data T) *node[T] {return node[T]{data: data,next: nil,prev: nil,} }// 从头部插入 func (l *linked[T]) headInsert(data T) bool {newNode : createNode(data)if l.head nil {l.head newNodel.head.next newNodel.head.prev newNodel.lengthreturn true}// 原头结点currentNode : l.headheadNode : currentNodel.head newNodenewNode.next currentNodecurrentNode.prev newNode// 找到尾结点for {if currentNode.next headNode {break}currentNode currentNode.next}if l.length l.limit {currentNode.prev.next l.headl.head.prev currentNode.prev} else {l.head.prev currentNodel.length}return true }func (l *linked[T]) delete(node *node[T]) {}// 从头部遍历 func (l *linked[T]) headForeach() {headNode : l.headfmt.Printf(从头结点遍历\n)for {fmt.Printf(当前节点: %v\n, headNode.data)if headNode.next l.head {break}headNode headNode.next} }// 从尾部遍历 func (l *linked[T]) tailForeach() {endNode : l.head.prevfmt.Printf(从尾结点遍历\n)for {fmt.Printf(当前节点: %v\n, endNode.data)if endNode.prev l.head.prev {break}endNode endNode.prev} } 双向循环链表 package mainimport fmtfunc main() {// 实现一个lru 淘汰算法// 双向循环链表// linked 结构体// node 节点 data prev next// 更新lru// 如果没有满// 将新的数据加入到头结点// 队满 删除尾结点// 将新数据加入头结点linkedObj : getLinked[int](5)linkedObj.headInsert(6)linkedObj.headInsert(5)linkedObj.headInsert(4)linkedObj.headInsert(3)linkedObj.headInsert(2)linkedObj.headInsert(1)linkedObj.headInsert(0)//fmt.Printf(当前节点: %v\n, linkedObj)//fmt.Printf(当前节点: %v\n, linkedObj.head.next.data)linkedObj.headForeach()linkedObj.tailForeach() }type linked[T int | string | map[string]string] struct {head *node[T]length intlimit int }type node[T int | string | map[string]string] struct {data Tnext *node[T]prev *node[T] }func getLinked[T int | string | map[string]string](limit int) *linked[T] {return linked[T]{head: nil,length: 0,limit: limit,} }func createNode[T int | string | map[string]string](data T) *node[T] {return node[T]{data: data,next: nil,prev: nil,} }// 从头部插入 func (l *linked[T]) headInsert(data T) bool {newNode : createNode(data)if l.head nil {l.head newNodel.lengthnewNode.next newNodenewNode.prev newNodereturn true}currentNode : l.head// 头结点位置headNodePos : l.headl.head newNodenewNode.next currentNodecurrentNode.prev newNode// 找尾结点for {if currentNode.next headNodePos {break}currentNode currentNode.next}if l.length l.limit {currentNode.prev.next newNodenewNode.prev currentNode.prev} else {currentNode.next newNodenewNode.prev currentNodel.length}return true }func (l *linked[T]) delete(node *node[T]) {}// 从头部遍历 func (l *linked[T]) headForeach() {headNode : l.headheadNodPos : headNodefmt.Printf(从头结点遍历\n)for {fmt.Printf(当前节点: %v\n, headNode.data)if headNode.next headNodPos {break}headNode headNode.next} }// 从尾部遍历 func (l *linked[T]) tailForeach() {endNode : l.headendNodePos : endNodefmt.Printf(从尾结点遍历\n)for {fmt.Printf(当前节点: %v\n, endNode.prev.data)if endNode.prev endNodePos {break}endNode endNode.prev} }
http://www.sadfv.cn/news/22947/

相关文章:

  • apache添加多个网站建设银行海淀支行 网站
  • 大型网站制作公司seo推广宣传
  • 网站做竞价对seo有影响吗wordpress点击量改热度
  • 成都网站开发 Vr精选网站建设排行榜
  • 做英文网站 赚美元seo公司哪家好
  • 密云免费网站建设可以直接做ppt的网站
  • 陕西的网站建设公司推广app
  • 那个公司做网站展厅设计素材网站
  • 郑州高端做网站2022年下半年软考停考地区
  • 便宜建站空间html网站开发主要涉及哪些技术
  • 苏网站建设上海全网推广
  • 网络规划与设计毕设seo初级入门教程
  • 网站建设常用模板下载万网的app叫什么
  • 做网站如何寻找客源石家庄网站建设机构
  • 霍邱网站建设湘潭网站建设网站
  • 绛帐做企业网站在线排名优化
  • 长沙企业做网站陕西省建设招投标网站
  • 来广营做网站wordpress微商模板
  • 网站数据没有更新网络建设与管理好找工作吗
  • 潼南区做网站的公司阿里云搭建安装wordpress教程
  • 网站建设的技术有哪些哈尔滨网站建设论坛
  • 电力建设网站宁皓 wordpress
  • 优秀网站seo报价企业网站如何宣传
  • 企业3合1网站建设dw网页制作教程使内容居中
  • 网站空间的申请实时在线街景地图
  • 淘宝api 做网站wordpress别人访问时不能正常显示
  • 网站建设文化案例WordPress整篇文章登录可见
  • 企业网站建设的几种形式广州网站建设360元
  • 重庆江北营销型网站建设公司推荐做网站王仁杰
  • 南昌网站seo费用快速网站优化技巧