自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 快速排序-java

快速排序原理快递排序其实是一个递归的过程。快速排序中任意指定一个数为中轴值,将小于该数的都放到它的左边,大于该数的都放到它的右边。然后对它的左子序列和右子序列继续做快速排序。过程规定序列左边的第一个数为pivot,两个指针left和right分别指向序列的左边和右边;因为后面递归还需要用到left和right,所以使用l和r保存left和right的值,使用l和r进行移动定位;从右边开始(因为我将最左边的数作为pivot,所以从右边开始,如果将最右边的数作为pivot,则从最左边开始),寻找

2020-10-22 18:33:43 118

原创 详解缩小增量——希尔排序

希尔排序希尔排序是插入排序的更高效改进版本,又称“缩小增量排序”。先回顾一下插入排序将数组看成两部分,有序序列和无序序列初始时,第一个数已有序,从第二个数开始,用一个变量保存该数,在有序序列中找到该数正确的位置插入。第一趟插入:num = a[1],从该数的前一个数开始依次比较直到第一个数,如果逆序,就将数往后移。/** * @author :Mrs.You * @date :2020/10/19 11:30 * @description:插入排序 */public class

2020-10-20 23:38:39 218

原创 选择排序java实现

选择排序选择排序原理:第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在数组的起始位置;第二次再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾。以此类推,直到全部待排序的数据元素的个数为1,那么就排好了。选择排序是不稳定的排序方法。/** * @author :Mrs.You * @date :2020/10/18 19:07 * @description:选择排序 */public class SelectSort { public static v

2020-10-20 11:05:10 94

原创 简单明了的冒泡排序

冒泡排序冒泡排序是每次都对相邻的两个数进行比较,如果逆序则交换的一种排序方法。每一次排序后都有一个元素归位,归位元素不再参与下一趟比较。举例对数组[-2, 5, 4, 6, 1, 2]进行由小到大冒泡排序:第一趟:比较[-2, 5] -2, 5, 4, 6, 1, 2比较[5, 4] 交换 -2, 4, 5, 6, 1, 2比较[5, 6] -2, 4, 5, 6, 1, 2比较[6, 1] 交换 -2, 4, 5, 1, 6, 2比较[6, 2] 交换 -2, 4, 5, 1, 2,

2020-10-18 16:59:49 126 2

原创 约瑟夫问题Java实现(环形链表)

约瑟夫问题问题描述​ 39 个犹太人与Josephus及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被敌人抓到,于是决定了一个自杀方式,41个人排成一个圆圈,由第1个人开始报数,每报数到第3人该人就必须自杀,然后再由下一个重新报数,直到所有人都自杀身亡为止。Josephus将朋友与自己安排在第16个与第31个位置,于是逃过了这场死亡游戏。分析​ 有n个人围成圆圈,规定从第m个人开始报数,每报数到第k个人就要自杀;然后再由下一个人重新报数,直到只剩最后一个人。将自杀顺序列出来。可以使用环形

2020-10-16 16:08:05 473

原创 双链表的增删改查(java)

双链表​ 双链表与单链表的区别在于双链表中除了有指向下一个节点的next,还有指向其上一个节点的pre。下面定义节点类://节点类,每个对象表示一个节点class Node2 { int no; String name; String nickName; Node2 next; //指向下一个节点 Node2 pre; //指向前一个节点 Node2(int no, String name, String nickName) { t

2020-10-15 15:31:49 170 1

原创 单链表增删改查及正逆序遍历(java)

单链表​ 链表实际上是线性表的链式存储结构,与数组不同的是,它是用一组任意的存储单元来存储线性表中的数据,存储单元不一定是连续的,且链表的长度不是固定的,链表数据的这一特点使其可以非常的方便地实现节点的插入和删除操作。​ 链表中的数据是以结点来表示的,每个结点的构成:[Data|Next],data域中包含节点的数据信息,next域实际上存放的是下一个节点的地址。节点类代码:class Node { int no; String name; String nickName;

2020-10-15 14:23:09 323

原创 数组模拟环形队列JAVA实现

数组实现环形队列(java)分析图示居中并且带尺寸的图片: 牺牲一个数组空间的原因是为了代码看起来容易理解。如果不这么做,我们判断队列空和队列满就会有点问题。规定初始时rear=front=0,当插入一个数据时,rear+1;取出一个数据时,front-1;(注意:队列是先进先出的数据结构,插入数据只能从队尾进,取输入只能从队头取。)如果不预留一个空间,那么队列满时,rear==front,队列空时rear也等于front。因此我们规定队列的最大容量要比数组的长度小1(如上图,数组长度为4,而实际

2020-10-13 16:45:17 80

原创 数组求和(循环---递归)

数组求和循环:public class A { public static int addAll(int[] a) { int sum = 0; for(int i = 0; i < a.length; i++) { sum += a[i]; } return sum; } public static void main(String[] args) { int[] a = { 2, 4, 6, 7, 9 }; int sum = addAll(

2020-09-15 17:51:06 2342

原创 比较==和equals的区别

==和equals的区别是什么?2.1 ==对于基本数据类型和引用数据类型==的作用效果是不同的。基本数据类型:比较的是值是否相等,比如两个int型的变量比较的是值是否相等。引用数据类型:比较的是引用的地址是否相同。代码示例:public static void main(String[] args) { String x = "string"; String y = "string"; String z = new String("string")

2020-09-11 14:09:47 203

原创 Spring整合工厂设计模式

工厂设计模式Spring本质:工厂Spring提供的工厂是ApplicationContext (配置文件 application.xml)1.概念:通过工厂类创建对象2.好处:解耦合 耦合:指代码间的强关联关系,乙方的改变会影响到另一方,不利于代码维护。简单来说就是把接口的实现类硬编码在程序中。如下程序段: User user = new User(); UserDao userDao = new UserDaoImpl();1.简单工厂的设计package com.ypz

2020-09-11 12:44:16 332

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除