自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java实现字符界面图书管理系统

核心功能登录:a)管理员Admin b)普通用户Normal管理员:对书籍进行 增、删、改、查、打印、返回登录界面以及退出普通用户:对书籍进行 借、还、查、打印、返回登录界面以及退出涉及到的类:package -> Book : Book 、BookListpackage -> Operation : Add、Delete、Alter、Find、Borrow...

2020-05-01 17:14:07 871

原创 python实现求字符串中不同数字的和

输入一个字符串,计算其中出现的不同数字的和,并且重复出现的数字只计算一次

2020-05-01 00:03:14 3591

原创 链表基础操作——结构、头插、尾插、任意位置插入、findKey

链表:逻辑上有线性关系,物理存储不保证连续//结点{ 值,下一个结点的引用 }class Node{ public int value; //保存的是有效数据 public Node next; //下一个结点的线索(引用) Node(int v){ this.value = value; this.next = null; ...

2020-04-21 00:05:35 250

原创 Charles工具的学习总结

Charles是软件测试中相对常用的一款工具,本文章主要总结到Charles的安装配置和使用要点。

2020-04-06 22:04:52 275

原创 基于HTTP服务器的小型Blog系统项目实战

基于HTTP服务器的小型Blog系统1. 项目介绍本项目主要实现两部分功能能:一个仿tomcat的小型HTTP服务器,一个运行在HTTP服务器上的mini版博客系统。主要包含静态文件处理、JSP文件处理、动态文件处理使用技术:http/jsp解析/自定义类加载器/Socket/多线程开发环境:IntelliJ IDEA2. 项目测试2.1 测试说明功能添加博客页...

2019-08-31 16:53:37 201

原创 基于Socket编程的交互式网络聊天室项目实战

一个基于Socket编程的交互式网络聊天室项目

2019-08-30 16:01:42 2197 1

原创 Java数据结构经典排序算法系列博客目录

排序算法是整个数据结构中最为重要的几个部分之一,在此将Java数据结构经典算法系列的博客目录在此列出,方便大家查找与交流。1.《数据结构经典算法之一 直接插入排序的两种实现方法》2.《数据结构经典算法之二 希尔排序》3.《数据结构经典算法之三 直接选择排序的递归与非递归算法》 4.《数据结构经典算法之四 冒泡排序及其优化算法》 5.《数据结构经典算法之五 堆排序》6.《数据结构经典...

2019-05-15 21:53:23 158

原创 数据结构经典算法之七 归并排序

归并排序基本思想:分治算法。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序(二路归并就是指将两个有序表合并成一个有序表)归并排序重要分以下三个部分:1. 把要排序的区间平均切分成两个部分2. 分治算法,对左右两个小区间进行同样方式的排序,直到size == 1(有序) && size == 0(没有数)3. 合并左右两个有序区间到一...

2019-05-15 21:32:53 221

原创 数据结构经典算法之六 快速排序及其三种分段算法

快速排序基本思想: 采用分治算法。选择一个基准值pivot,将这组元素分为三部分,比基准值小或相等的都位于基准值左边,基准值,比基准值大的都位于基准值右边,再继续对左右来两个小区间进行同样的处理快速排序主要分三部分:1. 选择一个基准值(可选择区间最右边的元素作为基准值)选取基准值的三个方法:随机法取边界值(最左边的值或最右边的值)三数取中法//实现基准值的三数取中法...

2019-05-15 21:18:42 1509

原创 数据结构经典算法之五 堆排序

堆排序基本思想:减治算法。通过堆来选择数据,其中排升序建大堆,排降序建小堆首先,在这里简单介绍一下二叉堆的概念:二叉堆在逻辑上可视为完全二叉树,在物理上可视为数组,本质上是对于任意一个结点,要求根的值 >=(针对大堆) 所有的子树结点的值,其基本作用是找最值堆排序主要分为以下三部分:1.向下调整前提:只有一个位置可能不满足堆的性质,其余位置都已经满足堆的性质1.判断要调整的...

2019-05-15 20:55:47 225

原创 数据结构经典算法之四 冒泡排序及其优化算法

冒泡排序基本思想:减治算法。根据序列中两个记录键值的比较结果来对换这两个记录在序列中的位置,将键值较大的记录向序列的尾部移动,键值较小的记录向序列的前部移动普通冒泡的基本算法:设置数组长度为N比较相邻两个数据大小,前 > 后,交换两个数从第0个数据遍历到第(N - 1)数,最大的数就沉到第(N - 1)个位置N = N - 1,如果 N != 0 , 重复 1.2-1....

2019-05-15 20:08:39 388

原创 数据结构经典算法之三 直接选择排序的递归与非递归算法

直接选择排序基本思想:减治算法。每次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完每次选一个最大的数,放到无序部分的最后需要选n或n - 1次无序[0 , array.length - i)有序[array.length - i , array.length)在无序部分选最大的一个数,找出其下标把最大的数交换到无序区...

2019-05-15 18:47:58 394

原创 数据结构经典算法之二 希尔排序

2. 希尔排序基本思想:先选定一个整数,把待排序文件中所有记录分成个几组,并对每一组内的记录进行排序。然后重复上述分组和排序的工作。直到=1时,所有记录在统一组内排好序。分组插排:分组的个数从大到小,直到等于1最终插入排序预排序:gap > 1插排:gap == 1gap = array.lengthgap = gap / 3 + 1 或 gap = gap / 2...

2019-05-15 18:44:11 232 1

原创 数据结构经典算法之一 直接插入排序的两种实现方法

直接插入排序基本思想 : 减治算法。把待排序的记录按其关键码值的大小逐个插入到一个已经排好序的有序序列中,直到所有的记录插入完为止,得到一个新的有序序列当插入第i(i>=1)个元素时,前面的array[0],array[1],…,array[i-1]已经排好序,此时用array[i]的排序码与array[i-1],array[i-2],…的排序码顺序进行比较,找到插入位置并将arr...

2019-05-15 18:39:36 1757

原创 JavaWeb—在IntelliJ IDEA环境下创建Web项目并部署到Tomcat

两个前提:创建项目目录结构和web.xml文件下载并配置Tomcat环境1.创建项目目录结构和web.xml文件1.1 创建项目1.2 项目名+模块名1.3 创建webapps和WEB-INF目录: src—>main—>new—>directory—>webapps—>new—>directory—>WEB-INF1.4 File...

2019-05-13 22:13:19 893

原创 Java数据结构之栈和队列

栈相关概念栈是一种特殊的线性表只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。原则:后进先出LIFO(Last In First Out)压栈:栈的插入操作,入数据在栈顶出栈:栈的删除操作,出数据也在栈顶栈的实现一头进出栈一般可以使用数组或链表实现,数组结构更优class Stack{ int[] array...

2019-05-06 16:19:00 834

原创 数据结构面试题之复制带有随机指针的复杂链表

题目描述:给定一个链表,每个结点包含一个额外增加的随机指针,该指针可以指向链表中的任何结点或空结点,要求返回这个链表的深拷贝leetcode面试题链接:https://leetcode-cn.com/problems/copy-list-with-random-pointer/description/题目示例:基本思路:遍历链表的所有结点,复制结点并且仅保留元素结构,将其插进链表...

2019-04-16 16:12:43 144

原创 数据结构面试题之环形链表,判断链表是否有环?求环的入口点

题目描述:判断一个链表中是否有环,有则找出环的入口节点leetcode面试题链接:https://leetcode-cn.com/problems/linked-list-cycle-ii/description/题目分析:判断环形链表的可能情况有以下三种:基本思路:由题可以看出链表为单链表,利用快慢指针,我们可以设置两个指针结点(fast,slow),初始化都指向链表的头...

2019-04-15 15:41:01 725 6

原创 数据结构链表面试题——判断两个链表是否交叉?求出交叉结点

/** * 两个单链表交叉 *(条条大路通罗马----尾结点) * * 1.判断链表是否发生了交叉 * 2.如果交叉找出是哪个结点交叉了 * 长的链表先走lengthlong-lengthshort步----保证循环初始两个链表长短相同 * 然后长短链表一起遍历,两个结点第一次相遇的即为结点 */public class IntersectionNode { pub...

2019-04-12 18:13:44 768

原创 数据结构之链表基础面试题小结

移除链表元素/** * 删除链表中等于给定值 val 的所有节点。 * * 示例: * * 输入: 1->2->6->3->4->5->6, val = 6 * 输出: 1->2->3->4->5 * * 基本思路:建立新链表,遍历筛选非val值尾插进新链表中 */public class RemoveEle ...

2019-04-12 17:53:36 268

原创 Java数据结构之顺序表与链表

线性表线性表是n个具有相同特性的数据元素的有限序列常见顺序表:顺序表、链表、栈、队列、字符串线性表在逻辑上是线性结构,也就说是连续的一条直线线性表在物理结构上并不一定是连续的线性表在物理上存储时,通常以数组和链式结构的形式存储。线性表:数据在逻辑上有前后关系顺序表顺序表:用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般采用数组存储顺序表的存储位置和逻辑关...

2019-04-08 20:42:12 294

原创 Java数据结构之时间复杂度、空间复杂度

时间复杂度概念:算法中的基本操作的执行次数常见复杂度:随着数据规模的变化,耗时的时长变化O(1)O(log(n)) 二分查找O(n) 递归函数,遍历查找O(n*log(n))O(n^2) 嵌套循环,冒泡排序O(2^n) 斐波那契递归/** * 遍历查找O(n) * 基本思想:将整个数组从头开始遍历,匹配要查找的元素 */private static int ...

2019-04-08 19:11:23 387

原创 Java—多线程优先级,守护线程

线程优先级线程的优先级指的是,线程的优先级越高越有可能先执行,但仅仅是有可能而已。/***设置优先级**/public final void setPriority(int newPriority)/***取得优先级**/public final int getPriority()对于优先级设置的内容可以通过Thread类的几个常量来决定:最高优先级:public ...

2019-03-16 15:38:07 263

原创 MySQL—基本查询、内置函数

筛选分页结果/*语法*/-- 起始下标为 0-- 从 0 开始,筛选 n 条结果SELECT ... FROM table_name [WHERE ...] [ORDER BY ...] LIMIT n;-- 从 s 开始,筛选 n 条结果SELECT ... FROM table_name [WHERE ...] [ORDER BY ...] LIMIT s, n;-- 从 ...

2019-03-15 23:08:44 696

原创 Java—多线程的实现及常用操作sleep、yield、join、线程停止方法详解

1.进程与线程进程:指OS中一个程序的执行周期线程:一个程序同时执行多个任务,其中每个任务都是一个线程二者区别:每个进程拥有自己的一整套变量,线程则共享数据。共享变量是的线程之间通信比进程间的更有效、方便2.线程的五种状态:创建–>就绪–>阻塞–>运行–>终止3.Java多线程3.1通过继承Thread

2019-03-13 18:48:27 248

原创 Java小项目—基于字符界面的超市收银台操作系统

项目设计第一部分:界面设计欢迎界面退出界面版本信息界面买单界面设置界面第二部分:两个重要功能1. 买单买单功能主要实现:用户查看商品信息,用户下单,订单展示,用户取消订单,浏览商品列表,返回主菜单2. 设置设置功能主要实现:查看商品列表,上架商品,下架商品,修改商品信息,返回主界面第三部分:功能的具体实现思路1. 买单(ord...

2019-03-12 20:15:41 1297

原创 MySQL3—表的操作

1.创建表:create table table_name(field1 datatype,field2 datatype,field3 datatype)character set 字符集 collate 校验规则 engine 存储引擎;不同的存储引擎,创建表的文件不一样例:MyISAM数据目录中有三个不同文件:users.frm:表结构users.MYD:表数据use...

2019-03-11 10:10:10 105

原创 MySQL2——MySQL的数据类型

数据类型数据类型分类:数值类型:tinyint类型有符号:-128~127无符号:0~255//数值越界测试/*有符号的tinyint类型:-128~127*/create table tt1(num tinyint);insert into tt1 (num) values(1);insert into tt1 (num) values(128);/*E...

2019-03-10 22:10:42 725

原创 Linux的基本指令小结

1.文件层次结构:Linux系统中的所有文件存储在文件系统中,它们被组织到一个颠倒的目录中2.文件类型:普通文件:文本文件、数据文件、可执行文件目录:子目录,父目录/目录根目录,位于系统文件层次结构的顶部/字符用作文件名中的目录分隔符/的子目录用于标准化的用途,方便根据文件和用途组织文件例。在根目录中,子目录/boot用于存储启动系统所需的文件2.Linux的一般命令格式:...

2019-03-09 16:43:30 92

原创 Java Socket编程——单线程聊天室

单线程聊天室项目设计流程:1.创建项目两个模板:服务器模块,客户端模块2.服务器1.创建ServerSocket,绑定端口2.接收客户端连接,Socket3.通过Socket发送和接收数据4.关闭ServerSocket/Socket3.客户端1.创建Socket,指定服务器的地址和服务端口(连接指定服务)2.通过Socket发送和接收数据3.关闭Socket服务器...

2019-03-08 23:56:02 291

原创 MySQL1——MySQL数据库的基本操作及概念

1.数据库与文件的对比:文件存在安全缺陷,不利于数据查询和管理,不利于存储海量数据并且在程序中控制不方便;数据库存储介质:常放在磁盘和内存中,能更高效的管理数据;2.连接服务器mysql -h 127.0.0.1 -P 3306 -u root -p;/*注意:P为端口号,p为密码*/3.数据库基本操作:3.1创建数据库create database db1;3.2使用数据库...

2019-03-08 00:26:13 173

原创 JavaGUI实现超市信息管理系统界面(基于Oracle数据库)

1.项目设计这次为大家带来的是基于Oracle数据库下的GUI超市信息管理系统,因还处于Java学习阶段,代码如有缺陷,还请多多指教。话不多说,下面是本次管理系统的主要框架。本项目模拟真实的超市管理模式,以管理员为面向对象,所要实现的功能是基本的增删改查,具体实现步骤如下:管理员登录进入欢迎界面进入仓库管理界面管理员进行增删改查1.1管理员登录界面Login此界面的重点在于...

2018-12-06 23:00:32 15146 42

原创 Java—String类扩展功能实现

//String类扩展功能实现public class Strings{ /** * 1.重复某个字符 * * 例如: * 'a' 5 => "aaaaa" * 'a' -1 => "" * * @param c 被重复的字符 * @param count 重复...

2018-11-25 01:58:05 871

原创 用C语言实现简易的三子棋小游戏

三子棋相信我们大多数人都玩过,这是一款操作简单易上手的电脑益智小游戏,我们今天尝试一下用c语言来实现它。

2018-10-19 01:26:54 520 2

空空如也

空空如也

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

TA关注的人

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