自定义博客皮肤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)
  • 收藏
  • 关注

原创 项目代码

项目代码: 实体类: package com.openlab.bean; public class Member { private Integer id; private String name; private Integer age; private String address; public Member() { } public Member(String name, Integer age, String address) {

2021-03-29 22:55:34 613

原创 java虚拟机--运行时数据区

java虚拟机–运行时数据区 Java虚拟机在执行java程序的过程中会把它所管理的内存划分为若干个不同的数据区域,每个区域都有各自的用途,以及创建和销毁的时间。 程序计数器(Program Counter Register) 程序计数器是一块较小的内存空间,他可以看作是当前线程所执行的字节码的行号指示器。如果线程正在执行的是一个java方法,这个计数器记录的是正在执行的虚拟机字节码指令的地址;如果正在执行的是本地(Native)方法,则这个计数器的值为空。程序计数器是线程私有的。 虚拟机栈(Virtua

2020-06-07 22:05:34 93

原创 java--抽象类与接口

java中的抽象类与接口 抽象类 (1)使用abstract修饰符修饰的类称为抽象类。 (2)抽象类不能使用new操作创建他的实例,但仍然可以定义它的构造方法,这个构造方法在它的子类的构造方法中调用。 (3)可以定义一个抽象类的对象变量,但是他只能引用非抽象子类的对象。 //Person为抽象类,Student为该类的一个非抽象类子类 Person p = new Person(); //× Person p = new Student("zhangsan",12); //√ (4)抽象方法只有定义而没

2020-06-07 18:43:38 103

原创 归并排序--java实现

归并排序的java实现 归并排序原理:尽可能将一组数据拆分为两个元素个数相等的子组,并对子组继续进行拆分,直至每个子组的元素个数为1为止。然后将子组不断进行合并直至最终合并为一个组从而实现对数据的排序操作。 合并时先使两个子组的元素进行比较,将最小元素依次放入辅助数组中,当所有元素都比较完成后将辅助数组中的有序数据复制到原数组中从而实现子组间的合并操作。 归并排序的时间复杂度为O(nlogn)。 代码如下: public class MergeSort { private static int[] ass

2020-06-07 11:20:20 187

原创 快速排序--java实现

快速排序的java实现 快速排序的基本思想:先找到一个分界元素(默认为起始元素),然后按照分界元素的值将所有元素分为两部分,左边部分的元素都小于分界值,右边部分的元素都大于分界值,然后继续按上述方法将左右部分继续分组。最终实现将所有元素排序。 最优情况:每次选择的分界值刚好将当前序列等分。时间复杂度为O(nlogn)。 最坏情况:每次选择的分界值是当前序列中的最大数或最小数。时间复杂度为O(n²)。 快速排序的平均时间复杂度为O(nlogn)。 如将{6,1,2,7,9,3,4,5,8}进行快速排序,基本过

2020-06-07 09:25:55 146

原创 希尔排序--java实现

希尔排序的java实现 希尔排序是插入排序的一种优化版本,比插入排序更高效。 原理:选定增量h并按照h将元素分为若干组,对分好的每一组都进行插入排序,然后减小增量h的值并重复上述操作,直至h=1。 比如给出乱序数组{66,32,59,13,7,21,256,1},设定h=4;过程如下: (1)按h=4对元素分组,分组完成后对每一组进行插入排序。 (2)第一轮完成后,使h的值减半,然后重复上述操作。 (3)第二轮完成后,使h的值减半,然后重复上述操作。 即最终排序结果为{1,7,13,21,32,59,

2020-06-06 18:42:52 239

原创 插入排序--java实现

插入排序的java实现 插入排序原理:将所有元素分为两组,已经排好序的和未排序的。首先默认数组第一个元素为已排序的,然后找到未排序组中的第一个元素向已排序组中插入,在插入过程中,倒序遍历已排好序组中的元素,若遇到比待插入元素大的元素,则两者交换数据,若遇到比待插入元素小的元素,则停止遍历。然后在未排序组中找到新的首位元素继续执行上述操作。 插入排序的时间复杂度为O(n²)。 代码如下: public class InsertSort { public static void main(String[] a

2020-06-05 18:07:42 110

原创 选择排序--java实现

选择排序的java实现 选择排序原理:通过遍历数组找到合适的元素并将其放到合适的位置从而实现对元素的排序。若实现升序排序,则可先声明索引变量min,使其指向数组nums中的第一个元素,即先使min=0;默认数组中最小元素为nums[min],然后通过依次遍历数组中的其他元素并与nums[min]比较,若比较元素比nums[min]大,则跳过,若比较元素比nums[min]小,则交换两元素的值;一轮比较完成后,即可确定此时数组元素最小值为nums[0],然后使min++并开始第二轮的比较,即在剩下的元素中选出

2020-06-05 17:14:53 84

原创 二分查找--java实现

二分查找的java实现 二分查找要求在查找前元素要有序排列,查找过程中设置三个变量分别为begin、end和index;其中begin代表查询范围的起始位置元素下标,end代表查询范围的结束位置元素下标。index代表每次与目标数据比较的数组元素下标。 每次查找时先使index=(begin+end)/ 2,即找到查询范围中的中间元素,然后将其与要找的目标数据比较,若两者相等,即表明找到了目标数据,返回该元素的下标;若目标数据大于中间元素,则使begin=index+1,然后继续进行上面的操作,若目标数据小

2020-06-04 13:03:58 123

原创 冒泡排序--java实现

冒泡排序的java实现 使用冒泡排序法对一个元素个数为N的数组进行排序时,共需要进行N-1轮比较,每轮比较确定一个元素的位置,在第i轮比较的过程中,数组内元素间相互需要比较N-i次,即对于一个元素个数为9的数组来说,共需要比较8轮,第一轮元素间相互比较次数为9-1=8次,第二轮为9-2=7次,以此类推。冒泡排序的时间复杂度为O(n²)。 代码如下: public class BubbleSort { public static void main(String[] args) { int[] num

2020-06-04 12:00:15 106

空空如也

空空如也

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

TA关注的人

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