![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
文章平均质量分 66
流浪的雨fcb
这个作者很懒,什么都没留下…
展开
-
插入排序算法详解-Java
插入排序的原理:将一组数据分成两组,我分别将其称为有序组与待插入组。每次从待插入组中取出一个元素,与有序组的元素进行比较,并找到合适的位置,将该元素插到有序组当中。就这样,每次插入一个元素,有序组增加,待插入组减少。直到待插入组元素个数为0。当然,插入过程中涉及到了元素的移动。代码:public class InsertSort { public static void main(Stri...翻译 2018-03-22 15:03:08 · 178 阅读 · 0 评论 -
希尔排序-Java
原理:对于n个待排序的数列,取一个小于n的整数gap(gap被称为步长)将待排序元素分成若干个组子序列,所有距离为gap的倍数的记录放在同一个组中;然后,对各组内的元素进行直接插入排序。 这一趟排序完成之后,每一个组的元素都是有序的。然后减小gap的值,并重复执行上述的分组和排序。重复这样的操作,当gap=1时,整个数列就是有序的。代码:public class ShellSort { p...翻译 2018-03-22 16:28:20 · 143 阅读 · 0 评论 -
java实现单词逆序输出
实现英文语句的逆序反转public class Test { public static void main(String[] args) { String src = "Hello Java Hello China"; String[] arr = src.split(" "); int length = arr.length; ...原创 2018-03-21 16:44:17 · 3166 阅读 · 0 评论 -
Java实现以字符串某一位置为界,将它之前的部分与之后的部分互换位置
需求:给定一个字符串str和一个整数i,i代表字符串中某一个元素的下标,将str[0..i-1]移到这个元素的右侧,将str[i+1..len(str)-1]移到这个元素的左侧。(要求:时间复杂度为O(N),空间复杂度为O(1))。实现思路:以分割数为界,分为左侧和右侧,分别将左侧和右侧的字符串进行反转,然后将左侧和右侧分别看成一个整体,将左侧和右侧进行反转。测试用例样例: 输入:”abcde...原创 2018-03-21 17:01:29 · 1342 阅读 · 0 评论