![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java与数据结构
秦同学努力学习
一个不会菜刀的菜鸟
展开
-
Java链表反转、取倒数第K个节点的值、两个有序表的排序
面试中链表的基本操作:1、链表的反转首先,先了解下链表的概念:节点,每个节点都有自己的数据data和一个指向下一个节点的next;反转时,我们只需要改变next的指向即可。思路:第一、新建一个节点newHead,用来指向链表的第一个节点,同时在反转时不断指向新链表的第一个节点,最终作为新链表头结点被返回;第二、在建立一个节点temp,用来保存将要反转的节点,并令该节点的next指向原链表中...原创 2020-02-23 22:18:40 · 155 阅读 · 0 评论 -
Java实现快速排序、归并排序
快速排序原理:第一步:给定一个有若干元素的数组,在这个数组中选定一个基准数据(通常是第一个或最后一个);第二步:从数组两端开始依次轮流与基准数据比较,将比基准数据小的放到基准数据左边区间(或右边),将比其大的数据放到基准数据的右边区间(或左边);第三步:对左右两个区间分别重复第二步的操作,直到各区间只剩下一个数。代码实现:package text;public class Test ...原创 2020-02-14 23:32:27 · 151 阅读 · 0 评论 -
Java与数据结构(1)——单链表
Java与数据结构(1)——单链表第一次写博客,也是因为正在学习数据结构的原因,记录下自己的学习成果,希望自己能够坚持下来。1、单链表是一种链式存取的数据结构,用一组连续的地址存储线性表中的数据。单链表中的数据通常用结点表示,结点通常包含:data(用来存储数据)和 next(指向下一个结点)。2、开始结点无前趋,故应设头指针head指向开始结点。终端结点无后继,故终端结点的指针域为空,即...原创 2019-03-26 23:44:05 · 193 阅读 · 4 评论 -
Java实现冒泡排序、选择排序、插入排序
冒泡排序:是一种简单的排序算法,需要重复的访问要排序的元素序列,不断地比较相邻的元素。如果相邻的元素满足了比较的条件,如前一个数据大于(或小于)后一个数据,则交换元素的顺序,使较大(或较小)的数据向后移。同样,再使这个较大(或较小)的数据与下一个相邻的元素比较。依此类推,比较到序列的末尾,得到一个最大(最小)的值。前面剩下的元素,重复之前的操作比较。直到得到一个排好序的序列。稳定排序算法,平均算法...原创 2019-04-27 21:11:04 · 460 阅读 · 2 评论 -
Java与数据结构(2)—— 双向链表
双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指向,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。双向链表与单链表结构相似,仅比单链表多一个前驱。与单链表的操作也基本相似。双向链表结点如图所示:创建节点代码:class Node{ int data; Node first;//前驱 Node next;/...原创 2019-04-24 13:17:22 · 254 阅读 · 2 评论