摘要:
如题这其实是对数组的一个操作。 适用于有规律的数组(如从小到大排列的数组) 要实现这个算法首先要知道四个值 array:要查找的数组 key:要找的数 min:最小索引 max:最大索引 那么到底是如何查找的呢? 请看代码演示: 如图这是第一种方式递归: 还有就是第二种方式while循环: 其实呢这 阅读全文
摘要:
这一次的只是我十分简单,我们通过标题就能知道内容 数组倒置,那么如何倒置呢? 假设一个数组为: 1 2 3 4 5 那么他到倒置后的的结果应该是这样的 5 4 3 2 1 其实我们可以发现一个简单的规律 1-5,2-4只是交换了一下位置 那么我们只要求出一个数对应的数然后再去交换,数组就交换成功了呢 阅读全文
摘要:
其实这名字有点拗口。 简单来说就是: 一个已知的数组(知道其所有属性), 然后在选出数组中的一个元素, 再让程序求出这个元素在数组的索引。 其实有两种做法: 第一种就是最简单的,先把这个数组遍历一遍,一个一个去比较,看看哪个相等。 第二种就是我们要讲的一个算法:二分法查找 首先来看到的第一种方法 其 阅读全文
摘要:
首先我们要理解排序的定义: 冒泡排序(Bubble sort):相邻的两个数逐个的做比较,如果前一个数比后一个数小那么就交换过来,当第一轮比较完毕之后最小的值一定在末尾 我们可以先画出以一张图: 数组两个相邻的值去比较后面的数大于前面的数就会去交换,因此每轮比较后最小值都会出现在这次比较的最后一位 阅读全文
摘要:
前几篇我们知道了如何简单的使用数组 这一篇比较重要的是数组中求极值的算法 顾名思义极值其实就是两个东西:最大值和最小值 下面我们上手代码: 输出结果: 其实这里面包含的逻辑其实挺简单的 我们看到这个方法 1.首先把索引为0的值,默认为最大值 2.开始for循环,然而这有很奇怪的一点就是这个for循环 阅读全文
摘要:
看这个标题就大概知道了这一章的内容 内存?奇怪的东西。 看了我们前面的Java运行机制我们都知道Java程序在运行的时候会创建一个jvm(Java虚拟机) 我就简单的画一下jvm的内存结构: 首先jvm中有两大地方:一个叫做栈,另一个叫做堆,分别有不同的特点 栈:空间小,存储速度快,主要存储基本数据 阅读全文
摘要:
前面我们知道了Java中的数据类型可以分为两大类 一是:基本数据类型,二是:引用数据类型 引用数据类型又分为:类,接口和数组 这一次我们的内容就是数组 我们先了解一下为什么要有数组这个东西 假如让你定义一百个int类型的变量,并给他们每个都赋值 我相信你一定会搞得心烦意乱,这样也使我们代码太多的重复 阅读全文
摘要:
上一篇中说到了如何简单的创建一个方法和使用这个方法。 这一篇要讲的就是方法的重载。 首先了解一下重载的定义:(overload),指的是在同一个类有两个或者两个以上的同名的方法,但是参数不同(参数个数和参数数据类型都不同),且与返回值无关! 上图就是两个方法的重载:1.方法名一样 2.参数个数不同 阅读全文
摘要:
函数又称为方法,个人比较喜欢叫方法。 那么为什么要有方法这个东西呢? 就由我带你们简单的了解一下。 图片上的代码就简单的实现了两个整数变量之间大小比较 然而假如我要把变量a和b换成另外两个变量 那就得把判断条件进行修改,这一定是一个麻烦的过程。 这时就应该用到我们的方法了。 方法的定义是:能够独立完 阅读全文
摘要:
前面讲的循环,这里就是控制循环的东西 break其实在我们学习switch判断的时候就是用到了 break:代表跳出整个循环 continue和break的用法差不多 continue:代表只跳出当前循环,当前循环continue以后的代码不会执行 接下来我们来展示一下: 程序运行结果: 再来看看c 阅读全文