自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java -- 高级排序

1、希尔排序介绍希尔排序是插入排序的一种,又称“缩小增量排序”,是插入排序算法的一种更高效的改进版本排序原理1、选定一个增长量h,按照增长量h作为数据分组的依据,对数据进行分组2、对分好组的每一组数据完成插入排序3、减小增长量,最小减为1,重复第二步操作增长量h的确定:增长量h的值每一固定的规则// h的增加规则int h = 1;while(h < 数组的长度/2){ h = 2*h + 1;}// 循环结束后我们就可以确定h的最大值// h的减少规则h

2021-02-22 21:56:18 163

原创 Java -- 简单的排序

前言:在Java的开发工具包JDK中,已经提供了很多数据结构与算法的实现,比如List,Set,Map,Math等等,都是以API的方式提供,这种方式的好处在于一次编写,多处使用。我们应该借鉴JDK的方式,也把算法封装到某个类中,如果是这样,在我们写Java代码之前,就需要先进行API的设计,设计好之后,再对这些API进行实现。1、简单的排序Comparable接口介绍Java提供了一个Comparable接口来定义排序规则Comparable接口使用package sort;//

2021-02-08 23:17:38 120

原创 Java -- 初识数据结构与算法

1、数据结构的分类逻辑结构:集合线性树形图形物理结构:顺序结构:由连续的存储空间组成链式结构:由散落的存储空间组成2、算法2.1、概念:算法是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法解决问题的策略机制。也就是说,能够对一定规范的输入,在有限的时间获得所要求的输出。简单点说:根据一定的条件,对一些数据进行计算,的到需要的结果。2.2、一个优秀的算法应该追求以下目标:花最少的时间完成需求占用最少的内存空间完成需求正确性、可读性、健壮性

2021-02-05 16:30:56 140

原创 Java -- GUI实战之贪吃蛇

这个贪吃蛇游戏用到java.swing包下的一些类和接口1、主启动类package com.wgh.snake;import javax.swing.*;// 游戏的主启动类public class StartGame { public static void main(String[] args) { JFrame frame = new JFrame(); frame.add(new GamePanel()); frame.set

2021-02-01 17:08:39 168 2

原创 Java -- GUI编程之Swing编程

1、窗口 – JFramepackage com.wgh.lesson04;import javax.swing.*;public class JFrameDemo { // 初始化 public void init(){ JFrame jFrame = new JFrame("窗口"); jFrame.setBounds(100, 100, 200, 200); jFrame.setVisible(true); /

2021-01-31 16:49:43 91

原创 Java -- GUI编程之AWT编程

组件:窗口弹窗面板文本框列表框按钮图片监听事件鼠标事件键盘事件破解工具1、Frame – 界面package com.wgh.lesson01;import java.awt.*;public class TestFrame { public static void main(String[] args) { Frame frame = new Frame("我的第一个Java图像界面窗口."); // 设置可见性

2021-01-30 13:18:43 323 2

原创 Java -- super详解

1、使用super可以访问父类的属性public class Student extends Person{ private String name = "Mikkel"; public void test(String name){ // 使用super来直接访问父类的name System.out.println(super.name); // 使用super来调用父类的方法 super.t

2021-01-28 15:10:08 113

原创 Java -- 重写父类方法

1、为什么需要重写?大部分时候,子类总是以父类为基础,额外增加新的成员和方法,但是当父类的某些方法与实际子类需要的方法有冲突或子类不需要时,需要重写父类的方法。例如,鸵鸟属于鸟类,大部分鸟类会飞,而鸵鸟不会飞,此时需要重写鸵鸟"飞"这个方法。代码如下:// 鸵鸟类 --> 继承鸟类public class Ostrich extends Bird { public void test(){ System.out.println("鸵鸟类可以无法在天上飞..");

2021-01-28 15:07:45 3536

原创 Java -- 多态

1、产生多态的原因Java引用变量有两种类型,一是编译时类型,二是运行时类型。编译时类型由声明该变量时使用的类型决定,运行时类型由实际赋给变量的对象决定。如果编译时类型与运行时类型不一致,就可能出现所谓的多态。 即一个对象的实际类型是确定的: new Student(); new Person(); 但是指向的引用类型就不确定了: Student s1 = new Student(); // 父类引用指向子类 Person s2 = new Student()

2021-01-28 15:03:20 74

原创 Java -- 抽象类 & 接口

1、抽象类直接上代码…// 抽象类public abstract class Action { // abstract: 抽象方法,没有方法体,只有方法名 public abstract void run(); public void doSomething(){ System.out.println("doing something..."); }}public class Student extends Action { // 抽象

2021-01-28 14:55:22 57

原创 Java创建一个对象在计算机内部的过程

1、问题提出在学习Java类和对象的过程中,对面下面这一经常出现的语句,头脑不免有些凌乱。Person p = new Person();从最官方的解释开始,在这句语句当中,创建了一个Person的对象或者说实例,这个Person的对象(实例)被赋值给p。这样的说明不免令我有些不能理解,构造器的返回值被赋值给p,那么p就是一个实例咯?2、引用对象的出现前边提出问题:p是否是一个实例?我们事先要明白,在Java虚拟机的内存管理中,内存有被分为堆内存和栈内存。在学习数组时,我们知道,数组也是一种类

2020-12-14 23:01:49 174

原创 Java类和对象--private的数据域封装作用

1、private修饰符的作用为了防止数据被意外篡改,使用private修饰符可以将数据域声明为私有的,这也称为是数据域的封装。2、访问器(accessor)和修改器(mutator)的定义简单点说,访问器和修改器就是类中定义的方法。为了能够访问私有数据域,可以提供一个get方法返回数据域的值。get方法称为是访问器;为了能更新一个数据域,可以提供一个set方法来给数据域设置新值。set方法称为是修改器。3、private在Java中的使用public class UserFile{

2020-11-09 21:53:11 1571

原创 单链表的基本操作--基于C语言

1、链式存储结构及一些基本概念与顺序存储结构用一段地址连续的存储单元来存储数据元素不同的是,链式存储结构是用一组任意的存储单元来存储线性表的数据元素。在单链表的链式结构中,除了数据元素(data)外,还需要用于存储后继元素的存储地址(* next)。在大致理解链式存储结构的结构特点后,接下来给出一些基本概念。数据域:存储数据元素的区域;指针域:存储后继位置的区域,指针域中存储的信息称为指针或链;结点(Node):由数据域和指针域中的信息组成的数据元素;头指针:链表第一个结点的存储位置;头结点

2020-11-09 16:30:26 133

空空如也

空空如也

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

TA关注的人

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