数据结构与算法
数据结构与算法
想取的名字都有了
学了忘,忘了学,生生不息。
展开
-
基于java语言的希尔排序(图解+代码)
希尔排序 (1)取一个小于待排序数组的的数 d (作为第一个增量)。 (2)以 d 为间距抽取元素作为一个待排序的小数组。 (3)每个待排序的小组独自进行插入排序。 (4)继续以 d2 为间距的 做 步骤 (2),直到 d 小于1为止。 希尔排序的增量有个固定规则 * h = 1; * while(h <数组长度/2){ * h = h*2+1; * } * * 希尔排序的增量递减规则 * h = h/2; 例如:给定一个数组{57,68,59,52,72,28,96,33,24,1原创 2020-06-17 15:15:24 · 259 阅读 · 0 评论 -
基于java语言的插入排序的实现(图解+代码)
##插入排序 插入排序原理: 1.准备两个数组,一组数组为未排序数组,一组数组为已排序数组 2.默认将未排序数组的第一个元素插入已排序数组内 3.每次从未排序数组拿取一个元素,与已排序数组的元素从后往前依次倒序比较元素大小。 4.若待插入的元素小于已插入的元素,则向已插入元素的前一个位置插入该待排序元素,反之则向后一位插入。 例如:给定一个数组{ 2,3,4,1,5} 最后完成排序后的数组为 1,2,3,4,5 java实现代码: 插入排序类: 在这里插入代码片 ...原创 2020-06-05 11:00:25 · 253 阅读 · 0 评论 -
基于java语言的简单选择排序的实现(图解+代码)
##简单选择排序 简单排序的原理: 1.在一组数据中,默认拿取第一个数据的索引,视作为该组数据中最小数据的索引值。将该数据的索引值赋值给 min。 2.将 min索引处的值依次和数组中的其它索引处的值进行比较,如果发现有其它索引处的数据比min索引处小的。则交换 min 处的索引。 3.当遍历完整个数组后没发现新的 【其它索引处的数据比min索引处小的】 4.将min索引处的值与首位数据进行交换。 例如:给定一个数组{ 2,3,4,1,5} 第一次简单选择排序后的结果:1,3,4,2,5 我们原创 2020-06-03 15:50:33 · 419 阅读 · 1 评论 -
基于java语言的冒泡排序实现(图解+代码)
##冒泡排序(升序排序) 冒泡排序的原理: 比较相邻的两个数,如果前一个数大于后一个数,则交换两个数的位置。直到前一个数不大于后一个数为止。 例如: 给定一个数组{4,2,3,5,1} 第一次冒泡排序后的结果为: 2,3,4,1,5 我们可以看到,每一次冒泡排结束后,会将待排序中的最大的数据放入到最后一位。 且第二次排序后,最后一位应该是不需要进行排序的。 第二次冒泡排序:2,3,1,4,5 第三次冒泡排序:2,1,3,4,5 第四次冒泡排序:1,2,3,4,5 但冒泡排序结束后,会出现一原创 2020-06-03 11:47:47 · 333 阅读 · 0 评论 -
Comparable接口&compareTo方法
compareTo方法 compareTo(T t) :将调用对象与t进行比较,返回int类型的整数。 t可以是:Byte, Double, Integer, Float, Long 或 Short 类型的参数 返回值表示: 1.负整数: 调用对象的值小于t对象的值 2.零: 调用对象的值与t对象的值相等 3.整数: 调用对象的值大于t对象的值 例如: public class Test { public static void main(String[] args) {原创 2020-05-27 20:02:50 · 2252 阅读 · 0 评论