首页 > 其他分享 >【GO】大小堆demo

【GO】大小堆demo

时间:2024-04-01 13:59:36浏览次数:24  
标签:old int demo Member 大小 score func GO MyHeap

`package main

import (
"container/heap"
"fmt"
"math/rand"
)

type MyHeap []Member

type Member struct {
score int
name rune
}

func (h MyHeap) Len() int {
return len(h)
}

// Smallest heap
func (h MyHeap) Less(i, j int) bool {
return h[i].score < h[j].score
}

func (h MyHeap) Swap(i, j int) {
h[i], h[j] = h[j], h[i]
}

func (h *MyHeap) Pop() interface{} {
old := *h
n := len(old)
lastElement := old[n-1]
*h = old[0 : n-1]
return lastElement
}
func (h *MyHeap) Push(x interface{}) {
h = append(h, x.(Member))
}

func main() {
var m Member
h := &MyHeap{}
for i := 0; i < 10; i++ {
m.name = 'a' + rune(i)
m.score = rand.Intn(100)
h = append(h, m)
}

heap.Init(h)

for h.Len() > 0 {
	fmt.Printf("%+v ", heap.Pop(h))
}

}
`

标签:old,int,demo,Member,大小,score,func,GO,MyHeap
From: https://www.cnblogs.com/ayf-devops/p/18108252

相关文章

  • Django-xadmin+rule对象级权限的实现方式
    Django-xadmin+rule对象级权限的实现方式1.需求vs现状1.1需求要求做一个ERP后台辅助管理的程序,有以下几项基本要求:基本的增删改查功能基于对象的权限控制(如:系统用户分为平台运营人员和商家用户,商家用户小A只能查看编辑所属商家记录,而管理员可以纵览全局)数据库记录导......
  • django安装xadmin及问题解决
    django安装xadmin及问题解决环境:Windows10专业版pycharmpro2020.3django3.2.1xadmin选django2的版本一,安装这里我选择从GitHub安装:pipinstallgit+https://github.com/sshwsfc/xadmin.git结果如下:Successfullyinstalleddefusedxml-0.7.1diff-match-patch......
  • Django xadmin安装及使用详解
    Djangoxadmin安装及使用详解一.简介xadmin是一个开源项目。针对于djangoadmin,页面美化程度,功能不完善等问题,额外开发的一个模块。目前xadmin的最新版本已经是xadmin3.0,但是xadmin3.0已经变成了一个纯前端项目,有兴趣的同学可以自己研究下。目前作者已经不对x......
  • Go 语言中怎么使用依赖注入
    Go语言中怎么使用依赖注入?原创 frank Golang语言开发栈 2024-03-3123:01 北京 听全文大家好,我是frank。欢迎大家点击标题下方蓝色文字「Golang语言开发栈」关注公众号。公众号主页点击右上角三个点图标,设为星标,第一时间接收推送文章。文末扫码,加群一起学Golang......
  • 如何开启Google Ads增强型转化?
    一.概述    GoogleAds向全量商家开放增强型转化功能,该功能将通过加密处理(SHA256方法)的第一方转化数据发送到Google,从而对现有的转化跟踪代码形成补充,旨在提高转化衡量准确性,提升优化效果。二.配置指南登录您的 GoogleAds帐号。点击帐号右上角的“工具和设置......
  • 学习日记之《Django3 Web应用开发实战》
    学习日记之《Django3Web应用开发实战》第二章——Django配置信息1、静态资源和媒体资源2、模板配置3、数据库配置4、中间件介绍第三章——初探路由1、反向解析2、重定向第四章——探究FBV视图1、异常响应2、文件下载功能3、文件上传功能自定......
  • Django的问题来这里看看看吧
    Django的问题来这里看看看吧1、django在centos7中报sqlite3版本错误解决2、django修改后台的名称及应用名称3、Django--Restframework--coreapi版文档BUG:AssertionError:`coreapi`mustbeinstalledforschemasupport.4、Django--drf-yasg版文档5、Djang......
  • 数据库之迁移常规操作(Mongodb篇)
    一、部署mongodb数据库。注:采用docker容器进行安装部署详情参考此文》》https://blog.csdn.net/u014642921/article/details/136022683二、在admin用户创建testdb文档插入两条数据admin>db.testdb.insertMany([{name:"1",age:1,addr:"earth"},{name:"2",age:2,addr:"......
  • Django路由
    Router介绍在实际开发过程中,一个Django项目会包含很多的app,这时候如果我们只在主路由里进行配置就会显得杂乱无章,所以通常会在每个app里,创建各自的urls.py路由模块,然后从根路由出发,将app所属的url请求,全部转发到相应的us.py模块中。而这个从主路由转发到各个应用路由的过......
  • Django学习_Day 1
    Day1学习笔记:学习视频:https://www.youtube.com/watch?v=yD0_1DPmfKM&list=PLQVvvaa0QuDe9nqlirjacLkBYdgc2inh37:30cmd命令'django-admin'管理命令来查看有什么命令可以运行'ThewayDjangoworksisassumesallwebsitesareactuallyjustacollectionofapps.'......