自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 PLSQL安装注意事项

PLSQL安装过程

2023-01-29 10:09:08 215 1

原创 学生体质信息管理系统(JSP+Servlet+JavaBean)

1.需求分析每个学生的基本信息有:学生的学号、姓名、性别、年龄、体重、身高等信息。系统应具有提供学生基本信息的创建、查询、修改、和删除等操作功能,并具有良好的交互性,便于用户的操作使用。2.系统设计(1)数据库和数据表的设计。该系统涉及一个数据库和一个数据表,在MySQL中创建一个数据库students,并在数据库students中创建表students_info。(2)系统所需要的JavaBean。第一个JavaBean类—DBConnection.Java类,该JavaBean把

2020-06-03 00:10:48 1664

原创 桥接模式——不同提示信息的发送

发送提示消息。基本上所有的带业务流程处理的系统都会有这样的功能,比如某人有新的工作了,需要发送一条消息提示他。从业务上来看,消息又分为普通消息、加急消息和特急消息多种,不同的消息类型,业务功能处理时不一样的,比如加急消息是在消息上添加加急,而特急消息除了添加特急外,还会做一条催促的记录,多久不完成会继续催促。从消息的手段上看,又有系统内短消息、手机短消息、邮件等等。package 发送信息;public interface Messagelmplementor { public void sen

2020-06-01 01:19:30 340

原创 单例模式——读取配置文件

单例模式 保证一个类仅有一个实例,并提供一个访问它的全局访问点。读取properties文件paramA=aparamB=bAppConfig.javapackage 单例模式;import java.io.FileNotFoundException;import java.io.IOException;import java.io.InputStream;import java.util.Properties;public class AppConfig { p.

2020-06-01 00:29:51 565 2

原创 MySQL连接数据库时中文乱码解决

在MySQL命令行中加入set names gb2312;

2020-05-27 00:07:13 153

原创 组合模式—商品类别树的构建

组合模式:将对象组合成树形结构以表示‘部分-整体’的层次结构。组合模式使得用户对单个对象和组合对象的使用具有统一性。通俗讲就拿一棵树来说,从树根向上生长,可以将树的结点分为两种,一种是叶子结点,叶子节点下面不可再分,另一种是树杈或者树枝,这种结点可以再往下分为叶子结点。这两种结点的性质不同,也就是属性不一样,在进行操作时也会不一样,而组合模式是将操作对这两种不同的结点具有一致性。这只一个不恰当的比喻。书中的分公司和部门之间的关系更加形象。下面写另外一个例子:用组合模式重新实现商品类别树的构建

2020-05-22 01:28:51 1106 19

原创 备忘录模式—悔棋操作

备忘录:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。通俗的讲就像课本举得例子:一般玩单机游戏都会有存档这个选项,这就可以利用备忘录模式来实现;一些撤销,悔棋操作,都是回到之前的状态。下面来说一下象棋中的悔棋操作如何利用备忘录模式来实现。package 象棋悔棋操作;public class GameRole { private String name; private int x; private int y;

2020-05-22 01:14:16 525

原创 数据库Mysql——ER图转换成关系模式

E-R图转化成关系模式的步骤第一:把每一个实体都转化成关系模式R(A、B)形式。(A、B代表属性)(1)将每个实体类型转换成一个关系模式。(2)实体的属性即为关系模式的属性。(3)实体标识符即为关系模式的键。第二:也是最重要的步骤,实体之间联系的转换。一般我们用到的就是二元联系类型的转换,其转换规则是(1)若实体间联系是1:1,可以在两个实体类型转换成的两个关系模式中任意一个关系模式的属性中加入另一个关系模式的键和联系类型的属性。(2)若实体间联系是1:N,则在N端实体类型转换成的

2020-05-20 16:17:39 5615 2

转载 数据库Mysql——基本操作

1 打开数据库 show databases2 创建数据库 create database+数据库名3 删除数据库 drop database+数据库名4 进入数据库 use+数据库名对数据表增删改查查看数据表 show tables创建数据表 create table (字段1 类型,字段2 类型)删除数据表 drop table修改表名 alter table 表名 rename 新表名对数据表里的字段进行操作字段定义:字段名+字段类型desc+表名 查看表的定义添加...

2020-05-20 14:19:32 122

原创 设计模式——状态模式公司请假

工作流中的请假流程某人提出请假申请,先由项目经理审批,如果项目经理不同意,审批就直接结束如项目经理同意,再看是否超过3天,如果三天以内,审批直接结束否则,交给部门经理,部门经理审核后,无论是否同意,审批直接结束。状态模式特点1.根据状态来分离和选择行为。2.状态模式是状态驱动,由上下文负责。状态模式主要解决的是当控制一个对象状态转换的条件表达式过于复杂时的情况,把状态的判断逻辑转移到表示不同状态的一系列类当中,可以把复杂的判断逻辑简化。就像例题当中,判断请假的状态条件不止一.

2020-05-09 00:01:42 391

原创 递归与分治策略

1.递归基本概念直接或间接地调用自身的算法成为递归算法。用函数自身给出定义的函数称为递归函数。有些数据结构,如二叉树,由于其本身固定的递归特性,特别适用递归的形式来描述。另外,还有一些问题,虽然其本身没有明显的递归结构,但用递归技术来求解,可使设计出来的算法简洁易懂且易于分析。最常见的递归算法的例子比如说:阶乘函数,Fibonacci数列等。2.分治法的基本思想分治法的基本思想...

2020-05-06 22:08:07 135

原创 计算机内存器基本内容

计算机通过什么来保存计算机当前工作所需的程序和数据呢?就是内存,也称为“主存储器”。它安装在计算机的主板上。 内存分为随机存储器(简称RAM)和只读存储器(简称ROM),通常我们说的内存或内存条是指RAM。随机存储器中的数据可以由用户进行修改。关闭计算机电源,随机存储器中存储的数据将全部消失,类似于写在黑板上的字,可写可擦。我们平常所说的内存容量就是随机存储器的容量。只读存储器中存储的数据由计算机...

2020-04-28 23:21:36 258

原创 4.2单片机实验——存储器扩展

根据下图电路编写程序用数码管显示0-9共10个数字循环显示。代码:#include <reg51.h>unsigned char led[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};//字型码void delay()//延时函数{ int i,j; for(i=0;i...

2020-04-09 11:33:14 1159

原创 3.26单片机实验——人机交互系统

编程实现用4×4的矩阵键盘控制连接在P0和P1口上的16个LED,当按下某键并释放后只有对应的LED灯亮,例如按S0后D0亮,按S1后D1亮。代码如下:...

2020-04-09 11:22:18 920

原创 4月9日单片机实验——可编程并行接口8255A

一个非常简单的例题如图8-11所示, 8255A的A端口和B端口分别连接两个7段数码管,编程实现两数码管分别静态显示“0”和“1”。代码如下:#include <reg51.h>#include <absacc.h> #define PORT_A XBYTE[0x1FFF] //A15=0,A14A13=00 #define PORT_B XBY...

2020-04-09 11:06:59 1216

原创 2020.3.19单片机实验

AT89C51单片机的中断系统的控制如图6-2所示,P0口连接了8个发光二极管, 引脚上接了一个按键,要求每次按键均能改变发光二级管的亮灭。#include <reg51.h>#define LED P0 sbit KEY = P3^3;bit flag=0;void delay(unsigned char n) //延时子函数;{ unsign...

2020-03-19 10:43:42 1138

转载 单片机中断系统

定时器/计数器控制寄存器TCON锁存了外部中断源及其触发方式、定时器T0和T1溢出中断。TCON寄存器中的IE0、IT0、IE1、IT1。TCON中的位格式如下:内容来自单片机之家www.dpj100.comIE0:为外部中断INT0的请求标志位。当INT0引脚上出现中断请求信号(低电平或脉冲下降沿)时,硬件自动将IE0置“1”,产生中断请求标志。IT0:外部中断INT0触发方...

2020-03-12 23:55:30 1056

原创 3.12单片机实验 定时计数器

include<reg51.h> // 将8051单片机头文件包含到文件中main(void ){ unsigned char counter; //设置无符号字符型变量,存储定时器中断次数。 TMOD=0x01; //设T0为定时模式,由TR0控制启动和停止,且工作于方式1 TH0=(65536-46083)/...

2020-03-12 14:26:13 632

原创 3月5日单片机实验

单片机第一次实验课先进行Keil的和Proteus的安装,对Keil进行破解。进行第一个实验是将led灯循环闪烁。在Keil中进行代码编写。在进行代码编写前,需要把Keil进行一些调试,将导出文件设置成 HEX File格式。建立一个new project ,然后在source Group里面再add new item to Group。然后就可以进行写代码了。#includ...

2020-03-05 11:31:46 162

原创 最短路径之Dijkstra算法

给定有向网图G=(V,E)和源点v∈V,求从v到G中其余各项点的最短路径。基本思想:将顶点集合V分成两个集合,一类是生长点的集合S,包括源点和已经确定的最短路径的顶点,另一类是非生长点的集合V-S,包括所有尚未确定最短路径的顶点,并使用一个待定路径表,存储从当前源点v到每个非生长点v的最短路径。初始时,S只包含源点v,对vi∈V-S,待定路径表为从源点v到vi的有向边。然后在待定路径表中找到...

2019-12-02 20:01:47 239

原创 最小生成树 Kruskal算法

Prim算法又被称为加点法,而Kruskal与Prim算法不同,被称为加边法。、伪代码:输入:无向连通网G=(V,E)输出:最小生成子树T=(U,TE)1.初始化:U=V;TE={};2.重复下列操作直到所有顶点都位于一个连通分量;2.1在E中选取最短边(u,v)并入;2.2如果顶点u,v位于两个连通分量,则2.2.1将边(u,v)并入TE;2.2.2将这两个...

2019-11-24 15:27:21 315

原创 最小生成树 Prim算法

Prim算法伪代码描述:输入:无向连通网G=(V,E)输出:最小生成树 T=(U,TE)1.初始化:U={v};TE={ };2.重复下述操作直到U=V:2.1在E中寻找最短边(i,j),且满足i∈U,j∈V—U;2.2U=U+{j};2.3TE=TE+{(i,j)};Prim算法的具体过程如上图所示。代码实现过程Prim算法采用邻接...

2019-11-24 15:05:01 466

原创 树与二叉树——由前序序列和中序序列确定一刻二叉树

确定一棵二叉树的方法可以使用扩展二叉树来构建以可二叉树,也可以通过由前序序列和中序序列或者由前序序列和后序序列来确定一棵二叉树。例如由前序序列和中序序列来确定一棵二叉树,这里用到的方法是利用递归算法来处理。例如已知前序序列:1 2 5 3 4 中序序列:5 2 3 1 4处理过程:首先根据前序序列可以确定整棵二叉树的根结点是1,然后在中序序列中找到1这个结点,在中序序列中1作...

2019-11-08 17:02:45 1000

原创 队列的基本操作

队列基本操作总时间限制:1000ms单个测试点时间限制:500ms内存限制:5000kB描述输入若干个整数(小于50个),整数共有四种类型,不同类型的整数代表不同操作。说明如下:1、[10,99]之间的整数:将该整数入队。2、-1: 队首整数出队。3、-2: 显示队列所有整数。4、-3: 输入结束。说明:采用链队列实现,必须有队列初...

2019-10-16 19:56:56 255

原创 车站中驶出的火车

火车站中的驶出的火车#include <iostream>using namespace std;template<typename DataType>struct Node{ DataType data;//数据域 Node<DataType>*next;//指针域};template<typename DataType&gt...

2019-10-16 19:53:54 260

原创 数据结构——栈的实现

栈的定义是限定在表的一端进行插入和删除操作的线性表,允许插入和删除的一段称为栈顶,另一端称为栈底,不含任何元素的栈称为空栈。总之栈具有的特点是后进先出(LIFO)。栈和链表一样又分为顺序栈和链栈。链栈的实现#include <iostream>using namespace std;template<typename DataType>struct N...

2019-10-16 19:51:29 208

原创 有序双链表的实现

有序的双链表的实现总时间限制:100000ms内存限制:655360kB描述定义有序的双链表类,链表中存储整型数据,创建带头结点的有序双链表,要求包含以下成员函数:双链表的构造函数(非空的链表,输入数据为0,表示输入结束)插入操作(将一个数据元素插入到有序的双链表中,插入之后链表仍然有序,输入数据为0表示插入操作结束)按值删除节点(考虑有重复值的情况)双链...

2019-10-16 19:41:18 184

原创 数据结构线性表——单链表实现

单链表是用一组任意的存储单元存放线性表的元素,这组存储单元可以连续也可以不连续,甚至可以零散的分布在内存的任意位置。(这里就是和顺序表的一个区别)。这里需要注意的是在构造一个单链表时,就是向里面插入元素时,存在两种方法:头插法和尾插法。在下面的代码实现中特意指出。#include <iostream> using namespace ...

2019-10-16 19:37:01 267

原创 《数据结构》线性表-顺序表

线性表的顺序存储结构称为顺序表,其基本思想就是用一段地址连续的存储单元依次存储线性表的数据元素。如何来实现通常用一维数组来实现顺序表,也就是把线性表中相邻的元素储存在数组中相邻的位置,从而形成一一对应的关系。需要注意的一点是:C++语言中数组下标是从0开始的,而线性表中元素的序号是从1开始的,也就是说线性表中的第i个元素存储在数组下标为i-1的位置上。代码实现#include...

2019-09-15 16:04:08 282

原创 简单系统开发心得

在最后一个课程作业之前,自己已经写过过了ATM的后台系统,和图书馆的系统,通过对这学期的C++面向对象的学习以及前两个类的练习,自己对简单的系统开发也有一点点心得。首先要清楚大概设计几个类,然后清楚这个系统要实现的功能有哪些,分别要在哪个类里面具体实现哪个功能。注意每个类之间的组合和关系(利用组合与继承)在第一个ATM的小程序设计的过程中,记得老师在布置这个作业的过程中,现在是课堂上...

2019-06-22 17:55:39 288

原创 C++面向对象程序设计 继承与多态知识总结

一、继承继承的定义继承是面向对象的核心特征之一,也是一种复用已有类的机制。在已有类的的基础上继承得到新类型,这个类型自动拥有已有类的特征,并可以修改继承得到的特性或者增加自己的新特性。在C++中,被继承的以有类称为基类,继承得到的新类成为派生类。派生类可以在被继承,这样构成的层次结构称为继承层次。继承的语法结构class 派生类名名字:[访问限定符]基类名字{ 成员声明...

2019-06-22 17:51:02 337

原创 5.25学习日志

前几天学习了一个新的概念叫做并查集。并查集(union-find set)是一种用于分离集合操作的抽象数据类型。它所处理的是“集合”之间的关系,即动态地维护和处理集合元素之间复杂的关系,当给出两个元素的一个无序对(a,b)时,需要快速“合并”a和b分别所在的集合,这其间需要反复“查找”某元素所在的集合。“并”、“查”和“集”三字由此而来。在这种数据类型中,n个不同的元素被分为若干组。每组...

2019-05-25 20:50:10 84 3

原创 5.22学习日志最短路径算法

最近上课的内容非常多,有些内容有点跟不上了,只能课后自己看了一下。边带有权值的图称为带权图 ,边的权值可以理解为两点之间的距离。一张图中任意两点间会有不同的路径相连。其中最短路径就是连接两点的这些路径中最短的一条。算法Floyed-Warshall算法O(N3)是最简单的最短路径算法,可以计算图中任意两点的最短路径,适用于出现负边权的情况。Dijkstra算法O(N2)用来...

2019-05-22 23:31:58 137

原创 5.15学习日志

最近在做二分查找的一些题目,自己发现二分查找有的题目还是注重这个题目的推导过程,如果自己把题目理解了,并能完整清晰的做出数学推导来,就能解决问题,像做数学题,另外自己觉得还有一些套路代码,还是要多做题。...

2019-05-15 23:22:59 81

原创 5.11学习日志之二叉树

这学期已经过半了,有些课程已经结课了,进入了复习阶段了。上节课讲了二叉树的相关知识。一棵树是由n(n>0)个元素组成的有限集合,其中: (1)每个元素称为结点(node); (2)有一个特定的结点,称为根结点或树根(root); (3)除根结点外,其余结点能分成m(m>=0)个互不相交的有限集合T0,T1,T2,……Tm-1。其中的每个子集又都是一棵树,这些集合称为这棵树的子树...

2019-05-11 23:17:34 120

原创 5.8学习日志 有关数据结构的一点点知识

关于数据结构目前学习的不是深入学习的,只是稍微了解了一下一些基本的概念。栈栈是只能在某一端插入和删除的特殊线性表。 进行删除和插入的一端称栈顶,另一堆称栈底。插入一般称为进栈(PUSH),删除则称为退栈(POP)。 栈也称为后进先出表(LIFO表)。 一个栈可以用定长为N的数组S来表示,用一个栈指针TOP指向栈顶。若TOP=0,表示栈空,TOP=N时栈满。进栈时TOP加1。退栈时TOP减1...

2019-05-08 23:37:39 102

原创 5.4 学习日志

由于是五一假期的原因,上一次的学习日志有一篇忘记写了。上次已经介绍过了二分查找。二分查找在解决问题的过程中二分查找的用处非常大,最重要的地方是二分查找可以使解决问题的时间变得非常少。二分查找先进行排序。然后算出中间下标mid,利用mid把这个数组分为两半,前一半从下标0到mid-1,后一半从mid+1到数组最后一个元素(下标是数组长度减一)。把这个查找的元素key和数组下标为...

2019-05-04 21:01:49 91

原创 4.27学习日志

最近这两天开运动会了,开运动会这两天听课,然后又与周末连在了一起,所以像我这样没有运动项目的人就是相当于放了三天假期,明天还有ACM的课。上一个搜索专题的作业已经截至了,所以想把深度优先搜索和广度优先搜索进行总结一下。其中有的一部分是在网上看的一些介绍的资料。深度优先搜索深度优先搜索法有递归以及非递归两种设计方法。一般的,当搜索深度较小、问题递归方式比较明显时,用递归方法设计好,它可以...

2019-04-27 22:01:32 121

原创 4.24学习日志 二分查找

这周搜索的题做的很慢,要继续抓紧。这周上课讲了搜索的一些例题然后又讲了二分查找的方法。二分查找也称对半查找,是一种很常用的,高效率的搜索算法,时间复杂度为O(log N)。二分查找有一个先提的条件,就是要查找的数组序列必须是一个有序的序列。二分查找的过程简单介绍就是首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将...

2019-04-24 23:22:24 134

原创 利用广度优先搜索来解决最短路径问题

今天写的内容是在CSDN看到一些有关于优先搜索讲解的文章,然后有一些理解。广度优先搜索和深度优先搜索就是图的遍历,那什么叫做图的遍历呢,从图的某个顶点出发,沿图中的路径依次访问图中所有顶点,并且使得图中所有顶点都恰好被访问一次,这一过程即为图的遍历。需要注意的是,接下来讨论图的遍历时,都是特指在一个连通图上进行遍历。图有最两种常见的遍历方法,就是广度优先搜索和深度优先搜索。简单来说广度...

2019-04-20 21:27:17 1702

空空如也

空空如也

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

TA关注的人

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