自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 排序算法(三)归并排序

文章目录一、原理与分析二、代码实现1.将两个子数组合并排序的方法2.将数组分解并递归排序的方法一、原理与分析归并排序法体现了“分治”思想,相较于前面几篇文章讲过的排序算法,归并排序法具有更好的时间复杂度,但是以牺牲部分空间来换取的。先看图:“分治”是将问题划分成逻辑相同,规模更小的子问题,求解子问题后,再将子问题结果合并。归并排序就是将数组分解为两个子数组,将两个子数组排序后在合并排序。对于两个子数组,排序的逻辑与整个数组相同的,因此我们可以用递归求解,当数组长度为1,即只有单个元素时,停止递归

2021-10-08 09:59:00 316

原创 排序算法(二)插入排序和希尔排序

文章目录一、插入排序1.原理与分析2.代码实现(C#)二、希尔排序1.原理与分析2.代码实现(C#)一、插入排序1.原理与分析先看图:插入排序是将序列分为排序区和未排序区,将未排序区的数值依次从后往前与排序区数值进行比较,选择到合适的位置插入。2.代码实现(C#)public static void InsertSort(int[] array){ //未排序区索引 int index; //记录待插入的值 int temp; for(index = 1; index &l

2021-10-05 21:50:57 165

原创 排序算法(一)冒泡排序和选择排序

文章目录前言一、冒泡排序1.原理与分析2.代码实现(C#语言)3.优化二、选择排序1.原理与分析2.代码实现(C#)前言排序的各种算法可以说是数据结构这门学问中的精髓之一,我将会写一系列文章,为大家讲解各种排序算法的原理与实现。一、冒泡排序1.原理与分析先看图:我们看图就知道了,所谓冒泡排序就和水中的泡泡向上冒一样,越往上水的压强越小,泡泡越大。在排序中体现出来的就是将数组中的元素两两比较,比较 n 轮,升序排列则将大的数据放后面,降序排列反之。冒泡排序的理解是比较简单的,下面我们直接上代

2021-06-18 15:16:18 334

原创 堆栈思想案例—汉诺塔问题求解最小步数

文章目录前言一、何为汉诺塔二、问题分析三、算法实现前言汉诺塔是一款有趣的智力游戏,其求解问题在数据结构与算法中也是堆栈思想和递归思想的典型案例。一、何为汉诺塔如图所示:有A、B、C三个杆,A杆上放有自上而下直径依次递增的圆盘,要将所有圆盘从A杆移动到C杆,并保持原来的叠放顺序,圆盘的放置可借助B杆,搬动时还需遵守以下规则:1、直径较小的圆盘永远只能置于直径较大的圆盘之上。2、圆盘可以任意的从任何一个木桩移动到其他的木桩上。3、每次只能移动一个圆盘,而且只能从木桩最上面的开始移动。二、

2021-06-16 09:50:23 2661

原创 Unity线程与协程

文章目录前言一、unity真的不支持多线程吗?1.unity中使用多线程2.unity中多线程的停止3.unity中使用多线程的问题二、协同程序1.协程的使用2.协程的原理总结前言Unity中的协程,即协同程序,是一个很好用的工具,我们在很多时候都会用到,但协程究竟是怎样的机制?和线程是什么样的区别?下面让我们来一探究竟。一、unity真的不支持多线程吗?首先,unity中是支持多线程的。初学unity时看到有些地方说,unity中不支持多线程,就没怎么尝试过。之后进一步学习时才更多的了解了一些

2021-06-11 09:10:19 2144

原创 Lua语言实现面向对象

文章目录前言一、Lua中的数据类型二、_G三、元表四、面向对象1.封装2.继承3.多态总结前言Lua是一种轻量级的脚本语言,在unity开发中经常用来做热更新相关的解决方案,我们现在的程序开发往往都是面向对象的,而Lua中是不存在类的概念的,让我们来看一下在Lua中如何实现面向对象编程。一、Lua中的数据类型Lua中共有8种数据类型,简单数据类型:number、boolean、string、nil,复杂数据类型:function、userdata、thread、table。Lua中没有类的概念,

2021-06-11 09:07:01 5147 1

原创 C#对List中的数据排序的几种方法

文章目录前言一、Sort()方法二、对自定义类型进行排序1.继承接口IComparable<>2.通过委托方法进行排序3.通过匿名函数、Lambda表达式排序前言在C#中List<>是一个很好用的容器,采用泛型避免了ArrayList中经常出现的拆箱装箱,List<>中还提供了很多操作数据集合的方法。我们往往要对集合中的数据进行排序操作,下面简单介绍几种方法。一、Sort()方法直接使用成员方法Sort()只能对C#本身的几种类型进行排序,比如int,floa

2021-04-21 14:25:23 17672 2

原创 Unity查找物体的方法总结

文章目录前言一、不能找到失活对象的方法1.Object类中的静态方法2.GameObject类中的静态方法二、能找到失活对象的方法1.Transform.Find()2.如何通过Transform找到自己以下的任意对象总结前言在unity中写脚本时,经常会遇到使用某个GameObject的情况,获取GameObject的方法有很多种,这里介绍几种脚本中查找的方法,下面将分为两类描述:不能找到失活对象的、能找到失活对象的。一、不能找到失活对象的方法1.Object类中的静态方法Object.Fi

2021-04-20 12:05:20 2779

原创 Unity中transform和Vector3向量方向的区别

unity学习笔记transform和Vector3向量方向的区别unity中,transform.forward,transform.right以及transform.up分别对应世界坐标系下的z轴,x轴和y轴的正方向,而Vector3.forward, Vector3.right, Vector3.up对应的是(0,0,1),(1,0,0)和(0,1,0)三个向量。在使用transform.Translate()方法时,默认传局部坐标系的参数,即Space.Self,所以使用Vector3根据局部

2021-04-19 14:43:52 2478

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除