首页 > 其他分享 >手写堆

手写堆

时间:2022-11-14 18:46:49浏览次数:33  
标签:int void else heapdown 手写 heapup

void heapup(){
	int i=a[0];
	while(i>1&&a[i]<a[i/2]){
		swap(a[i],a[i/2]);
		i/=2;
	}
}
void heapdown(){
	int i=1,j;
	while(i*2<=a[0]){
		if(i*2==a[0]||a[i*2]<a[i*2+1]){
			j=i*2;
		}else{
			j=i*2+1;
		}
		if(a[i]>a[j]){
			swap(a[i],a[j]);
			i=j;
		}else{
			break;
		}
	}
}
void setheap(int c){
	a[++a[0]]=c;
	heapup();
}
void del(){
	a[1]=a[a[0]--];
	heapdown();
}

标签:int,void,else,heapdown,手写,heapup
From: https://www.cnblogs.com/As-Snow/p/16889948.html

相关文章

  • 记录--手写$forceUpdate,vm.$destroy方法
    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助vm.$forceUpdate(1)作用迫使Vue.js实例重新渲染。注意它仅仅影响实例本身以及插入插槽内容的子组件,而不是......
  • 手写弹出框代码详解
    1.代码<!DOCTYPEhtml><htmllang="zh-CN"><head><metahttp-equiv="content-Type"charset="UTF-8"><metahttp-equiv="x-ua-compatible"content="IE=edge"><......
  • 【Spring系列】- 手写模拟Spring框架
    简单模拟Spring......
  • 利用yolov4进行手写数字识别
    识别效果训练20000次图片标记参考​​https://github.com/theAIGuysCode/tensorflow-yolov4-tflite​​修改配置#!/usr/bin/envpython#coding=utf-8fromeasydictimpor......
  • caffe 进行手写数字训练
    案例数据准备下载链接:https://pan.baidu.com/s/10CmpZUdEVmma4A0mziu9dw提取码:dmjr复制这段内容后打开百度网盘手机App,操作更方便哦解压后放到data/mnist进入C:\Windows......
  • 自编码器_【手写数字】
    自编码器importtensorflowastffromtensorflow.keras.layersimportDensefromtensorflow.keras.modelsimportModelimportmatplotlib.pyplotaspltimportnumpyas......
  • 能不能手写Vue响应式?前端面试进阶
    Vue视图更新原理Vue的视图更新原理主要涉及的是响应式相关APIObject.defineProperty的使用,它的作用是为对象的某个属性对外提供get、set方法,从而实现外部对该属性的......
  • 手写一个JS函数,实现数组深度扁平化
    要求:把数组arr=[12,34,[122,324],[222,[333]];扁平化思路:创建一个新数组,循环原数组判断每一项是否是数组是的话先递归,在调用const或push方法,不是直接const或push。方法一......
  • 001[Js修炼]手写深拷贝
    /**//编写一个深度克隆函数,满足以下需求(此题考察面较广,注意细节)functiondeepClone(obj){}//deepClone函数测试效果constobjA={name:'jack',birthday:......
  • 手写本地缓存实战2—— 打造正规军,构建通用本地缓存框架
    大家好,又见面了。本文是笔者作为掘金技术社区签约作者的身份输出的缓存专栏系列内容,将会通过系列专题,讲清楚缓存的方方面面。如果感兴趣,欢迎关注以获取后续更新。村......