![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JAVA
代码会说话
技术交流,互相学习
展开
-
JAVA数据结构与算法(七)
今天介绍二叉排序树;利用中序排序思维,小的的放在根的左子树,大的放在根的右子树;数组还原树过程:原创 2020-06-15 14:07:51 · 114 阅读 · 0 评论 -
JAVA数据结构与算法(六)
今天记录一下快速排序的一个写法吧(二分查找法);思维部分(建议理解后看代码):给定一个int数组,将这个数组排序;上面的是第一轮的排序,然后从指针的位置分成两部分,左边的位置和右边的位置单独这样遍历;直到将这个数组遍历到底(递归思想,如果想不通的同学可以看下我前面的文章,这里就不多说了)上面的是思想,如果没想通看下面的代码有可能会有些困惑;代码部分:/** * 快速排序 * 适用于数组 */public void quickSort(int[] array, i原创 2020-06-14 21:32:07 · 178 阅读 · 0 评论 -
JAVA数据结构与算法(一)
冒泡排序将代码直接复制即可@Testpublic void testSort(){ int[] array = new int[]{4, 7, 2, 3, 1, 8, 6, 9, 5}; for (int i : array) { System.out.print(i + " "); } System.out.println("\n"); sort(array); for (int i : array) { Sy原创 2020-06-09 20:10:40 · 119 阅读 · 0 评论 -
JAVA数据结构与算法(二)
大家应该都打过手机麻将,那么手机麻将发牌之后,是如何将我们的牌排序的呢?下面就是一个麻将排序算法,这只是个示例,后面自己根据业务扩展吧,希望会有帮助直接上代码 @Test public void testMajiang(){ LinkedList<Majiang> list = new LinkedList<>(); list.add(new Majiang(3, 1)); list.add(new M..原创 2020-06-10 08:45:39 · 129 阅读 · 0 评论 -
JAVA数据结构与算法(五)
前一篇文章写的是汉诺塔,如果还是对汉诺塔没有有疑问的,那么,下面的三种二叉树的遍历会进一步帮助我们理解汉诺塔;树:二叉树的遍历:1,先序遍历;2,中序遍历;3,后序遍历;上示例代码:/** * 二叉树 */public class Binaray { Node<String> root; public Binaray(String data) { root = new Node<>(data, null, null);原创 2020-06-13 10:32:39 · 245 阅读 · 0 评论 -
JAVA数据结构与算法(四)
晚上的时候看了一下递归,汉诺塔算法,没有想通,躺在床上翻来覆去的睡不着,满脑子都是这个123,321,,,,想着想着就有感觉了,感觉起来写个博客记录一下,我怕明天早上忘记了;直接上代码,代码中添加了想法和注释:/** * 汉诺塔 * 目标:将n个塔片从start利用middle转换至end * 理解:逆向思维, * 思想第一步:将n个塔片看成是一个整体,想要把这个整体移动从start移到end * 只需要直接移动即可 1------3 *原创 2020-06-12 00:24:56 · 113 阅读 · 0 评论 -
JAVA数据结构与算法(三)
/** * 自己的链表功能 * 1,最后位置上的新增 * 2,获取指定位置上元素 * 3,指定位置上的新增 * 4,指定位置上的删除 * @param <T> */public class MyLinkedList<T> { /** * 节点 * @param <T> */ public static class Node<T>{ T item; Node&l...原创 2020-06-11 07:54:09 · 144 阅读 · 0 评论