- 博客(7)
- 收藏
- 关注
原创 希尔排序分步详解
希尔排序:希尔排序时希尔(Donald Shell)于1959年提出的一种排序算法。希尔排序也是一种插入排序,它是简单插入排序经过改进之后的一个跟高效率的版本,也称为缩小增量排序。基本思想:希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法;随着增量的逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰被分成一组,算法便终止; // 第一次排序 f...
2019-07-21 13:34:57 482
原创 直接插入排序算法分步详解
插入排序基本思想:就是把整个数组分成有序和无序状态,第一轮把数组第一个数据当成有序状态,然后从第二个数据开始跟它前面的数据作比较,如果当前数据比它前一个数据小,就把它前一个数据往后移一位,再跟它前前一位数据作比较直到到数据第一个位置或者找到它自己的位置。如果当前数据比它前一个数据大,则不动,以此类推;图解: 图片来源于网络,侵删。原数组:3, -1, 2, 1 // 第一次排序 ...
2019-07-21 09:41:25 291
原创 选择排序--分步解析
选择排序基本思想:第一次从arr[0]–arr[n-1]中选取最小值跟arr[0]交换,第二次从arr[1]~arr[n-1]中选取最小值跟arr[1]交换,第三次从arr[2]-arr[n-1]中选取最小值跟arr[2]交换…一共循环n-1次即可建议先看下面一步一步实现排序的代码,然后再看这一段代码,便于理解public static void selectSort(int[] arr) ...
2019-07-20 20:25:37 151
原创 冒泡算法 分步+图 详解
冒泡排序:基本思路:拿第一个和第二个对比 如果第一个比第二个大那么就换位置,如果小就不换,接下来拿第二个和第三个…这样依次下去比到最后 我们把这些数中最大的一个放在了右边, 然后再重复以上的方式下去就这些数只第二个大的放在了倒数第二位,依次下去…从网上找了这个图感觉还是挺形象的:优化:因为排序的过程中,各元素不断接近自己的位置,如果一趟下来没有进行过交换,就说明序列有序因此要在排序过程中设...
2019-07-20 19:36:40 1342
原创 java基础-流程控制
流程控制一.顺序结构概念:程序的运行步骤与代码的书写顺序一致;二.分支结构if 、else2.1 单if结构格式:if(条件表达式){ 语句a}语句b逻辑:判断条件是否满足,如果满足执行语句a,再执行语句b;反之,直接执行语句b。2.2 标准的if-elseif(条件){ 语句a}else{ 语句b}语句c逻辑:条件满足,执行语句a,反之,执行语句b,语...
2019-07-19 20:31:24 144
原创 随机数、键盘输入
随机数、键盘输入键盘输入 java.util.Scanner使用步骤:1、 创建Scanner对象Scanner sc = new Scanner(System.in);2.调用接受判断输入的方法String str = sc.next();//接受String字符串int i = sc.nextInt();//接受int数据随机数 java.util.Random使用步骤:...
2019-07-18 20:36:24 338
原创 数据类型转换
** 数据类型转换**自动类型转换(隐式)概念:不同数据类型运算时,数据范围小的数据类型会自动转换成范围大的数据类型。其中6根实线代表无信息丢失的转换。有3个虚头,表示可能有精度损失的转换。例如,123456789 是一个大整数,所包含的位数比 float 类型所能够表达的位数多。 当将这个整型数值转换为 float 类型时,将会得到同样大小的结果,但却失去了一定 的精度。例如:i...
2019-07-18 20:22:10 107
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人