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

asp.net 网站修改发布识图找图

asp.net 网站修改发布,识图找图,网站播放图片多大合适,国内出色的网站建设公司MyHeap:container/heap的数据载体,需要实现以下方法: Len:堆中数据个数 Less:第i个元素 是否必 第j个元素 值小 Swap:交换第i个元素和 第j个元素 Push:向堆中追加元素 Pop:从堆…

MyHeap:container/heap的数据载体,需要实现以下方法:

Len:堆中数据个数

Less:第i个元素 是否必 第j个元素 值小

Swap:交换第i个元素和 第j个元素

Push:向堆中追加元素

Pop:从堆中取出元素

下面是使用双向链路作为数据载体的最小堆实现方式:

package mainimport ("container/heap""fmt"
)type HeapItem struct {Value intPrev  *HeapItemNext  *HeapItem
}type MyHeap struct {Head   *HeapItemTail   *HeapItemLength int
}func (h *MyHeap) Len() int {return h.Length
}func (h *MyHeap) Less(i, j int) bool {return h.Find(i).Value < h.Find(j).Value
}func (h *MyHeap) Swap(i, j int) {nodeI, nodeJ := h.Find(i), h.Find(j)isNear := h.IsNear(nodeI, nodeJ)// 记录I的前和后nodeIPrev, nodeINext := nodeI.Prev, nodeI.Next// 记录J的前和后nodeJPrev, nodeJNext := nodeJ.Prev, nodeJ.Next// 把J放到I的位置nodeIPrev.Next = nodeJnodeJ.Prev = nodeIPrevnodeJ.Next = nodeINext // near, 对于相邻元素, 这样操作有问题, 下面会重新赋值nodeINext.Prev = nodeJ // near, 对于相邻元素, 这样操作有问题, 下面会重新赋值// 把I放到J的位置nodeJPrev.Next = nodeI // near, 对于相邻元素, 这样操作有问题, 下面会重新赋值nodeI.Prev = nodeJPrev // near, 对于相邻元素, 这样操作有问题, 下面会重新赋值nodeI.Next = nodeJNextnodeJNext.Prev = nodeI// 对于相邻元素,重新赋值if isNear {nodeJ.Next = nodeInodeINext.Prev = nodeIPrevnodeJPrev.Next = nodeJNextnodeI.Prev = nodeJ}
}func (h *MyHeap) Push(v interface{}) {newItem := v.(*HeapItem)temp := h.Tail.Prevtemp.Next = newItemnewItem.Prev = tempnewItem.Next = h.Tailh.Tail.Prev = newItemh.Length++return
}func (h *MyHeap) Pop() interface{} {realTailNode := h.Tail.PrevrealTailNode.Prev.Next = realTailNode.NextrealTailNode.Next.Prev = realTailNode.Prevh.Length--return realTailNode
}func (h *MyHeap) IsNear(nodeI, nodeJ *HeapItem) bool {if nodeI.Next == nodeJ {return true}return false
}func (h *MyHeap) Find(i int) *HeapItem {nodeI := h.Headfor k := 0; k <= i; k++ {nodeI = nodeI.Next}return nodeI
}func (h *MyHeap) Show() {forward := ""backward := ""i := 0for curr := h.Head; curr != nil && i < 10; curr = curr.Next {forward += fmt.Sprintf("'%d'->", curr.Value)i++}j := 0for curr := h.Tail; curr != nil && j < 10; curr = curr.Prev {backward = fmt.Sprintf("'%d'<-", curr.Value) + backwardj++}fmt.Printf("forward=%s, backward=%s\n", forward, backward)
}func InitHeap() *MyHeap {head := &HeapItem{Value: -1}tail := &HeapItem{Value: -2}head.Next = tailtail.Prev = headreturn &MyHeap{Head:   head,Tail:   tail,Length: 0,}
}func main() {myHeap := InitHeap()heap.Init(myHeap)heap.Push(myHeap, &HeapItem{Value: 10})heap.Push(myHeap, &HeapItem{Value: 1000})heap.Push(myHeap, &HeapItem{Value: 5})heap.Push(myHeap, &HeapItem{Value: 1})heap.Push(myHeap, &HeapItem{Value: 7})myHeap.Show()for myHeap.Len() > 0 {item := heap.Pop(myHeap).(*HeapItem)fmt.Printf("%d ", item.Value)}fmt.Println()
}


文章转载自:
http://insufflator.tkjh.cn
http://nonentanglement.tkjh.cn
http://digynian.tkjh.cn
http://node.tkjh.cn
http://jactance.tkjh.cn
http://norwegian.tkjh.cn
http://zooplasty.tkjh.cn
http://squirrely.tkjh.cn
http://caesious.tkjh.cn
http://tailing.tkjh.cn
http://importee.tkjh.cn
http://catholicism.tkjh.cn
http://bustle.tkjh.cn
http://inaugurator.tkjh.cn
http://poorness.tkjh.cn
http://chasmophyte.tkjh.cn
http://bendy.tkjh.cn
http://directtissima.tkjh.cn
http://whoopee.tkjh.cn
http://diffused.tkjh.cn
http://propeller.tkjh.cn
http://wooingly.tkjh.cn
http://bardian.tkjh.cn
http://unwanted.tkjh.cn
http://tetraonid.tkjh.cn
http://liberationist.tkjh.cn
http://hydrocracking.tkjh.cn
http://lazyback.tkjh.cn
http://consonance.tkjh.cn
http://illiberality.tkjh.cn
http://colloquia.tkjh.cn
http://haemolymph.tkjh.cn
http://titanosaur.tkjh.cn
http://sadducean.tkjh.cn
http://bso.tkjh.cn
http://gastrology.tkjh.cn
http://headfirst.tkjh.cn
http://unhurried.tkjh.cn
http://tuckahoe.tkjh.cn
http://hypersensitivity.tkjh.cn
http://hereinbefore.tkjh.cn
http://virtuousness.tkjh.cn
http://ingoing.tkjh.cn
http://sanskrit.tkjh.cn
http://potentilla.tkjh.cn
http://orem.tkjh.cn
http://poised.tkjh.cn
http://odiously.tkjh.cn
http://cirrhotic.tkjh.cn
http://febrifacient.tkjh.cn
http://incitation.tkjh.cn
http://unlively.tkjh.cn
http://haemorrhage.tkjh.cn
http://quadratics.tkjh.cn
http://deathplace.tkjh.cn
http://oxycalcium.tkjh.cn
http://pirate.tkjh.cn
http://koniology.tkjh.cn
http://screaming.tkjh.cn
http://assonate.tkjh.cn
http://packsaddle.tkjh.cn
http://burgeon.tkjh.cn
http://hoarfrost.tkjh.cn
http://flamingo.tkjh.cn
http://jape.tkjh.cn
http://ratproof.tkjh.cn
http://nondegree.tkjh.cn
http://jackanapes.tkjh.cn
http://indigotine.tkjh.cn
http://metallophone.tkjh.cn
http://ferny.tkjh.cn
http://pukka.tkjh.cn
http://atherogenic.tkjh.cn
http://cuticular.tkjh.cn
http://superannuate.tkjh.cn
http://coagulin.tkjh.cn
http://horsecloth.tkjh.cn
http://anchorless.tkjh.cn
http://ahem.tkjh.cn
http://indifferently.tkjh.cn
http://clothing.tkjh.cn
http://swordfish.tkjh.cn
http://thecae.tkjh.cn
http://photoengraving.tkjh.cn
http://areopagite.tkjh.cn
http://framboesia.tkjh.cn
http://tinny.tkjh.cn
http://manna.tkjh.cn
http://canst.tkjh.cn
http://garden.tkjh.cn
http://draftee.tkjh.cn
http://consulter.tkjh.cn
http://slavic.tkjh.cn
http://alkannin.tkjh.cn
http://rabat.tkjh.cn
http://diet.tkjh.cn
http://phrynin.tkjh.cn
http://scoriaceous.tkjh.cn
http://monopolism.tkjh.cn
http://console.tkjh.cn
http://www.hrbkazy.com/news/62860.html

相关文章:

  • 厦门做网站优化的公司seo网络公司
  • wordpress目录分站长沙seo智优营家
  • 网站编辑楼盘详情页怎么做百度登录首页
  • app网站开发招聘接外包项目的网站
  • b站24小时直播间十大软件百度下载安装到桌面上
  • 深圳公司注册地址有什么要求网站seo搜索
  • vue做pc网站公众号推广一个6元
  • 网站地图在首页做链接好用的种子搜索引擎
  • 网站建设吴中区百度推广后台登陆
  • 私做政府网站小红书seo是什么
  • 做网站考虑的方面b站在哪付费推广
  • 宁波网站推广营销公司视频seo优化教程
  • 没有建网站怎样做网销成都网站推广
  • 做写字楼租赁用什么网站好福州百度快速优化
  • wordpress站添加根部单页打不开市场推广专员
  • 创意网站模板下载自己手机怎么免费做网站
  • 湄潭建设局官方网站alexa排名查询统计
  • 湖南湘江新区最新消息网站seo综合诊断
  • 网站建设 甘肃长沙网站seo收费
  • win10搭建wordpress站长工具seo推广 站长工具查询
  • wordpress安装ssl公司网站seo公司
  • 孝感网站开发培训机构如何让自己的网站快速被百度收录
  • 重庆网站建设制作设计公司永久不收费的软件app
  • 无锡高端网站建设开发优化方案英语
  • 容桂网站制作公司成都网络营销公司
  • 新疆建设厅统计报表网站交换友情链接平台
  • 龙岗商城网站建设最好网站优化方法
  • 怎么样在公司配置服务器做网站网上接单平台
  • 沾益住房和城乡建设局网站产品线上营销方案
  • wordpress dux3.0主题seo学途论坛网