- 博客(19)
- 收藏
- 关注
原创 堆排序的定义以及实现
堆排序:生成大根或小根堆将堆顶元素和堆尾部元素调换位置不断循环即可而生成堆的主要思想:生成一个堆,需要从末尾开始做起,通过实现一个一个小堆,最后合成一个大堆。而每一次调整,其实就是找到当前节点所在的正确位置,即实现一个小堆。以及当其两个孩子分别为堆的时候,只需要对根节点进行一个调整。那么整个堆都可以实现。
2022-10-23 17:59:58
687
1
原创 单调栈的理解和用法
单调栈是一种数据结构,即一个栈容器,里面的元素是满足单调性的。如从小到大递增和从大到小递减(此处定义为从底部到顶部)找到当前元素左(或右)第一个大于它或小于它的数。先遍历一次找到当前下标,再从当前下标向左(或右)开始遍历逐一比较得到结果:时间复杂度O(n2)O(n^2)O(n2)同样遍历当前数组,要找左边第一个大于它的数。维护一个从下到上单调递减的栈以上是维护单调栈若需要找值,只需要让其在要找的数时停止,并找到比它大的数即可。上一个比它大的数,一定会在栈的下层寻找的时候,最坏的情况就是前面均依次递减
2022-10-23 14:25:21
181
原创 C#委托 学习笔记
文章目录前言一、委托是什么?二、委托的使用1.回调静态方法2.回调实例方法3.委托链三、委托的实现原理四、语法糖前言方便以后的复习,在初步学习完C#委托后写的博客。思维导图:一、委托是什么?委托是C#提供的回调函数机制,它是类型安全的。回调机制类似于一种我们的生活场景:某人拥有一张其他人的名片,当有需要的时候,可以打这张名片上的电话,名片的拥有者则会做出反应。监听者模式也是由回调机制实现的类似于c语言中的函数指针可以当作参数传递于其他的方法中二、委托的使用下面的代码,演示了部
2022-04-03 18:01:34
571
原创 Unity 解决子弹发射方向问题
Siki学院案例 存档与读档中 子弹方向控制子弹生成在枪尾部 创建一个Aim空物体 摆在枪口之后调用_bullet.GetComponent<Bullet>().Launch(_Aim.transform.position -_bullet.transform.position);public void Launch(Vector3 Target) { RD.AddForce(Target*speed,ForceMode.Impulse); }即可获
2021-09-11 11:06:42
5267
原创 Unity旋转限制角度 通过欧拉角
private void MoveHead() { MoveX = Input.GetAxis("Mouse X"); MoveY = Input.GetAxis("Mouse Y"); if (transform.rotation.eulerAngles.y+MoveX > 305 || transform.rotation.eulerAngles.y+MoveX < 55) transform.Rotate(ne
2021-09-11 10:12:48
1690
原创 科目三灯光模拟程序源代码c++
科目三灯光模拟程序源代码c++需要打字输入#include <iostream>#include<iomanip>#include<string>#include <math.h>using namespace std;void Menu(){ cout <<"// 欢迎使用科目三灯光模拟系统 //" << endl; cout << "下面即将开始考试模拟" << endl<&l
2021-07-14 21:55:35
720
原创 求最长不重复子串位数
求最长不重复子串位数map数组表示 某元素在此串中上一次出现的位置flag 表示 找到重复元素后切断的位置cur 表示当前最长子串max 最长不重复子串位数例如: 字符串 String: abcddafghi在String[4] 重复切断位置在 4 dafghi#include <iostream>#include <string>#define Max 10000using namespace std;int Get_string(string a){
2021-07-08 12:09:28
142
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人