自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 一天一个设计模式(三):抽象工厂模式

抽象工厂模式:抽象工厂模式是对工厂方法模式的进一步抽象。工厂方法模式(请查看往期内容)中每一个产品就对应一个工厂。而抽象工厂模式中每个产品族对应一个工厂。比如:有两家笔记本厂商A和B。他们都生产轻薄本、商务本、游戏本。这时就有两个产品族。只需创建两个工厂,分别生产各自的产品族。笔记本接口:public interface Laptop { void detail();}AB的各...

2019-04-01 14:18:48 117

原创 一天一个设计模式(二):工厂方法模式

工厂方法模式:工厂方法模式是对简单工厂模式的一种改进。下面先简单介绍简单工厂模式:首先有一个所有产品的父接口://产品接口public interface Product { void detail();}以及多个产品//①public class Product1 implements Product { @Override public void d...

2019-03-31 21:18:06 131

原创 八大排序(五)快速排序

快速排序快速排序使用了分治策略。一:选定一个基准数(一般选取第一个数),然后把大于它的数都放在它右边,把小于它的数放左边。二:这样就把数组分成左右两部分。再将左右两部分分别递归执行第一步,最终当执行第一步的部分大小为一时,递归完成,原数组排序完成。public class QuickSort { public static void sort(int[] nums,int l,in...

2019-04-02 16:31:32 135

原创 八大排序之(四)选择排序

选择排序:选择排序是一种比较简单的排序,其原理是通过每次将未排序数组的最小值选出来插入到相应位置。算法实现:public class SelectSort { public static int[] sort(int[] nums){ int i,j,min=0; for (i=0;i<nums.length;i++){ //...

2019-04-01 14:45:22 113

原创 八大排序之(三)希尔排序

希尔排序希尔排序又叫缩小增量排序,是通过对待排序数组分成多个部分,然后分别采用插入排序。本例首先将数增量gap初值为length/2,这样原数组就被分成gap个数组,每个数组有两个数。然后对每个数组进行插入排序,接着逐渐缩小增量(本例中gap=gap/2),继续排序直到增量为1结束。希尔排序最好情况时间复杂度为O(n),最坏情况O(n²),是不稳定的。public class Shell...

2019-03-31 17:03:12 125

原创 八大排序之(二)冒泡排序

冒泡排序冒泡排序是一个比较简单的排序,时间复杂度为O(n²)。每轮从第一个数开始,与后一个数比较,若前一个数大于后面的数则交换,然后比较下一个。这样经过一轮比较后,数组中最大的数就被冒泡到队尾,每轮结束后,从倒数第i(轮数)个数开始,都是有序的。public class insertionSort { public static int[] sort(int[] nums){ ...

2019-03-31 15:44:19 119

原创 一天一个设计模式(一):模板方法(Template Method)模式

模板方法模式:

2019-03-21 18:19:47 114

原创 八大排序之(一)直接插入排序

直接插入排序直接插入排序就好比打牌时一张一张的摸牌。对于数组{7,6,5,4,3,2,1}刚开始手上只有{7}后面要插入6 {7,6}插入位置为26与前一位7相比要小所以7就后移一位{7,7},6要插入的位置前移一位为1。因为前面没有比6小的,所以6就在当前位置插入{6,7}。后面再插入5 {6,7,5}插入位置为35与前一位7相比要小,所以7后移{6,7,7},插入位置前...

2019-03-21 18:06:26 82

原创 关于子类父类构造函数及代码块执行顺序

关于子类父类构造函数及代码块执行顺序public class Father { { System.out.println("父类普通代码块"); } static { System.out.println("父类静态代码块"); } public Father(){ System.out.println("父...

2019-03-12 08:08:06 135

原创 JAVA核心类学习

JAVA核心类(1)Object:静态代码块:private static native void registerNatives(); static { registerNatives(); }要为你自己的类注册本地函数,你必须RegisterNatives从你自己的库中的本机代码调用JNI函数。native方法: public final nati...

2019-03-11 15:22:18 191

空空如也

空空如也

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

TA关注的人

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