- 博客(60)
- 收藏
- 关注
原创 实现阶段-页面实现
将数据存储到数据库后,通过选择图形来查看以何种图形来展示数据。三,首页:index.html 提供三种图形的选择页面,分别输入查看数据的要求,页面动态的使用ajax构建Http请求,Tomcat根据请求的url使用特定的Servlet来连接数据库将数据以json格式构建Http响应,当页面获取到数据后,使用echarts将数据以特定的图形进行显示。二,诗词词云分布图:wo...
2020-03-08 13:58:17
349
原创 设计阶段
唐诗可视化分析是将唐诗数据从页面中获取,对数据进行处理分析等,将数据以图形化的方式呈现出来,使用户能更加快速的去了解数据。1,获取数据 使用唐诗三百首网页的url:https://www.gushiwen.org/gushi/tangshi.aspx 来获取页面中唐诗数据。 使用WebClient模拟浏览器构建Http请求获取Html页面数据。将页面数据...
2020-03-08 13:24:43
441
原创 页面实现
一、登录,注册模块1,用户通过在页面中输入用户名,密码来登录,登录成功后即跳转到图片上传的页面。通过点击Register也可以跳转页面使用用户名和密码注册用户。(1)登录模块<!DOCTYPE html><html> <head> <meta charset="UTF-8"><title>Login</titl...
2020-02-22 20:38:07
635
原创 代码实现阶段
一,封装数据库操作:将所有数据库的操作存放在dao包下。 (1)运用单列模式设计一个数据库连接的工具类,提供一个Connection对象。package dao;import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;import javax.sql.DataSource;import java.sql.Connectio...
2020-02-22 20:23:06
263
原创 API设计阶段
一、数据库设计1,为图片设计一张表来存储图片的相关属性:imageId作为表的自增主键用于查询图片,userId做为用户表的自增主键,用来唯一标识一个用户,imageName,size,contentType,path,uploadTime,md5。建表语句:create database if not exists image_system;use image_system...
2020-02-20 21:45:46
229
原创 浅谈IO流
文件字节流操作:InputStream(File file)/OutputStream(File flie Boolean falg(是否追加到文件后))1,FileInputStream:通过字节的方式读取文件(一个一个字符的读取),适合读取所有类型的文件,全字符可使用FileReader(字符流操作)。主要方法:int read() :从硬盘上按字节读取数据。void close(...
2019-11-06 21:42:14
165
原创 java-泛型
1,泛型类的定义:class 泛型类名称<类型形参列表> {// 这里可以使用类型参数}class ClassName<T1, T2, ..., Tn> {}class 泛型类名称<类型形参列表> extends 继承类/* 这里可以使用类型参数 */ {// 这里可以使用类型参数}class ClassName<...
2019-10-16 15:19:25
702
原创 哈希表详述
哈希表: 顺序结构以及平衡树中,元素关键码与其存储位置之间没有对应的关系,因此在查找一个元素时,必须要经过关键码的多次比较。顺序查找时间复杂度为O(N),平衡树中为树的高度,即O($log_2 N$),搜索的效率取决于搜索过程中元素的比较次数。 理想的搜索方法:可以不经过任何比较,一次直接从表中得到要搜索的元素。 如果构造一种存储结构,通过某种函数(hashFun...
2019-10-15 16:34:16
166
原创 详述二叉搜索树
二叉搜索树又称二叉排序树,它或者是一棵空树,或者是具有以下性质的二叉树:(1)若它的左子树不为空,则左子树上所有节点的值都小于根节点的值。(2)若它的右子树不为空,则右子树上所有节点的值都大于根节点的值。(3)它的左右子树也分别为二叉搜索树。二叉搜索树二叉搜索树的相关基本操作:一:查找若根结点不为空,当根结点key==查找key:返回true。当根结点key...
2019-10-10 18:15:30
327
原创 java-比较对象大小的方法
关于对象值大于、等于、小于的比较:一,基本数值类型(int ,char,short,long,float,double )对象的大小比较可以直接使用比较运算符:> >= < <= == !=。二,引用类型对象无法用数值去衡量其大小,故可使用(Object.equals ,Comparable<E>,Comparator<E>)去比较引用类型。...
2019-10-07 18:29:39
4974
原创 java-详述排序(时间性能分析)
排序的稳定性:两个相等的数据,如果经过排序后,排序算法能保证其相对位置不发生变化,则我们称该算法是具备稳定性的排序算法。排序的分类:1,插入排序: 时间复杂度:最好(数据有序情况下) : O(n), 最坏 (数据逆序情况下):O(n^2).实现过程:整个区间被分为有序区间和无序区间。每次选择无序区间的第一个元素,在有序区间内选择合适的位置插入。2,折半插入排序:在有序区间选择数据应...
2019-09-28 13:42:20
297
原创 java-堆(优先级队列)
堆:使用数组保存二叉树结构,方式即将二叉树用层序遍历方式放入数组中。一般只适合表示完全二叉树,因为非完全二叉树会有空间的浪费。这种方式的主要用法就是堆的表示。一:堆的概念 1,堆逻辑上是一棵完全二叉树。 2,堆物理上是保存在数组中。 3,满足任意结点的值都大于其子树中结点的值,叫做大堆,或者大根堆,或者最大堆。 4,反之,则是小堆,或者小根堆,或者最小堆。5, ...
2019-09-27 18:38:54
464
原创 初识File类-基础
File类:三种形态:文件、文件夹、空。File类相关方法:文件操作:1,pathSeparator,separator(常量):路径、路径分隔符。2,构造器,构造一个File类的对象,没有盘符以user.dir作为相对目录(即工程所在路径)。File(String parent,String child); File(File parent,String child)Fi...
2019-09-27 18:03:07
167
原创 Collection应用—存储表格数据
采用容器类来保存表格数据:ORM思想:对象关系映射。保存上述表格数据:一:采用map加list的方法来保存表格数据。将每一行的所有信息(ID,姓名,年龄,薪水,入职日期)保存在一个map中形成键-值对。list中存储每一行的map对象。 Map<String,Object> row1=new HashMap<>(); row1.put("id", ...
2019-09-24 17:59:45
248
原创 Collection类详解
容器<interface>Collection:继承接口:Set<interface>,List<interface>.1,Set<interface>:没有顺序,不可重复。实现类:HashSet.Set的遍历方法• for-each• Iterator迭代器• 无法使用for进行遍历(因为无序,所以没有get(i))• ...
2019-09-24 17:23:07
367
原创 java中对collection遍历方法详解
collection接口类中主要是实现类是List,Set,Map。默认容器内对象类型为String.map中对象为<Integer,String>1,对List(ArrayList,LinkedList)内容进行遍历:List中实现了toString方法,若想打印list中全部的对象,可直接用System类进行打印。 (1)使用 for:each(增强for循环)进行...
2019-09-24 17:14:04
479
原创 java-快速排序
package bt.three;public class QuickSort { public static void main(String[] args) { int[] arr= {12,43,10,32,28,43,65,7,21}; int len=arr.length-1; System.out.print("未排序前:"); for(int n:arr) {...
2019-07-17 18:17:31
126
原创 数据结构-排序算法
排序算法分为简单排序算法和先进排序算法。简单排序算法包含 冒泡排序、简单选择排序、直接插入排序、希尔排序算法实现如下:1:冒泡排序算法//冒泡排序void BubbleSort0(Sqlist *l){ int i = 0; int j = 0; for (i = 0; i < l->size; i++){ for (j = l->size; j &...
2019-07-17 16:43:05
237
原创 C语言实现—重建二叉树
根据二叉树的前序序列和中序序列或者后序序列和中序序列均可唯一确定一个二叉树,下面为程序实现:#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include <stdlib.h>#define MAX 10typedef struct Tree{ int data; struct Tree *left...
2019-07-16 17:52:44
1084
4
原创 数据结构—利用图的思想实现简单的校园导航
1:.c文件,实现功能的函数块#define _CRT_SECURE_NO_WARNINGS 1#include "Campus_Navigation.h"//打印校园导航图void CreateCampus(Mgraph_m G){ int i, j; printf(" "); for (i = 0; i < G->numvex; i++){ pr...
2019-07-06 13:06:04
1286
2
原创 数据结构—查找算法总述
1:最简单的查找方法,只要数据在顺序表中存储就可以使用逐个遍历的方法进行查找:查找成功返回关键字在顺序表中的位置,查找是失败返回-1.int Sequential_Search(int arr[], int key, int len){ int i = 0; for (i = 0; i < len; i++){ if (arr[i] == key){ return i;...
2019-07-06 12:50:05
179
原创 数据结构-哈夫曼树
哈夫曼树又称最优二叉树,给定一组数,构造哈夫曼树构造出的树的权值最小即为哈夫曼树。1:哈夫曼树的数据结构#ifndef _HUFFMAN1_H_#define _HUFFMAN1_H_#include <stdio.h>#include <stdlib.h>typedef struct BTreeNode{ int data; struct BT...
2019-06-29 12:27:40
172
原创 数据结构-图
图是在树的基础上更加复杂的数据结构,图结构构可看做是地图的抽象表达,图又分为有向图和无向图,有向图每个结点有出度和入度的区别而无向图没有。图的表示方法有两种:邻接矩阵、邻接表。邻接矩阵是采用二维数组的方法来描述图,领接表是才有单链表的方法来描述图。下面采用的是邻接矩阵的方法来表示图。1:图的数据结构#ifndef _GRAPH_H_#define _GRAPH_H_#include...
2019-06-29 12:23:50
117
原创 数据结构-二叉树
二叉树是数据结构中一个非常重要的思想,当二叉树为满二叉树或完全二叉树时可以采用顺序结构存储,存储位置和逻辑位置有联系,而当一个二叉树不是以上情况时,就不能采用上面性存储了,一般采用孩子表示法:1,二叉树孩子表示法数据结构:#ifndef _TREE_H_#define _TREE_H_#include <stdio.h>#include <windows.h&...
2019-06-29 12:15:34
134
原创 数据结构-队列
队列也是对数据的添加的查看有限制的数据结构,队列有“先来先服务”思想。队列又分为顺序队列和链队。1:顺序队列顺序队列的数据结构:#ifndef _QUEUE_H_#define _QUEUE_H_#include <stdio.h>#include <windows.h>#define MAX 1000typedef struct{ int d...
2019-06-29 12:06:57
140
原创 数据结构-栈
栈是对添加数据和操作数据有限制的数据结构。有这“先来后服务”的思想,栈可被应用到递归这一思想中。栈又分为顺序栈(双向栈),链栈。1:顺序栈顺序栈的数据结构定义:#ifndef STACK_H_#define STACK_H_ #include <stdio.h>#include <windows.h>#define MAXSIZE 20typ...
2019-06-29 11:59:38
141
原创 数据结构-单链表实现:
单链表是数据结构最基本的数据存储结构,当需要频繁的插入或删除数据是可利用单链表的结构来存储数据。1:自定义单链表单个元素的结构,包括当前结点信息和与下一结点之间的关系:#ifndef _LINKEDLIST_H_#define _LINKEDLIST_H_#include <stdio.h>#include <stdlib.h>#include <...
2019-06-29 11:46:06
155
原创 数据结构-散列表
散列技术是在记录的存储位置和它的关键字之间建立一个确定的对应关系f,使得每个关键字对应一个存储位置。采用自定义结构体存储用户的信息包括姓名、电话、住址。用户的电话号码作为该用户信息的关键字。代码如下:#ifndef HASH_TABLE_H_#define HASH_TABLE_H_#include <stdio.h>#include <stdlib.h>...
2019-06-29 11:33:57
188
原创 利用c语言实现通讯录功能
模拟实现通讯录的功能,主要功能包括增加联系人信息、删除联系人信息、修改联系人信息、查找联系人、对现有联系人排序、清空联系人和显示所有联系人信息这七大功能块。 需利用结构体嵌套的思想去定义通讯录的结构,将联系人的信息包括姓名、街道、城市、邮编、国家等保存在一个自定义结构体类型,在将自定义的联系人信息类型嵌套使用在自定义通讯录结构体类型中实现多个联系,为合理使用通讯录的存储空间...
2019-06-29 11:22:17
1747
原创 C语言实现对字符串的左旋和右旋
1:对字符串的左旋num个字符:void Reverse(char *left, char *right){ assert(left != NULL&&right != NULL); while (left < right){ char tmp = *left; *left = *right; *right = tmp; left++; righ...
2019-05-14 12:10:41
132
原创 C语言查找数组中只出现一次的两个数字,其余数字均出现两次
#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include <windows.h>void Check(int arr[], int len){ int i = 0; int tmp = 0; int k = 0; int s = 0; //两个只出现一次数字的异或的结果tmp for (i =...
2019-05-14 12:02:57
882
原创 C语言自定义实现对string库函数的功能
1:strcpy函数将源字符串拷贝到目标字符串,目标字符串的长度必须要大于源字符串长度:注释部分为原始版本,代码较为冗长char *MyStrcpy(char *str1, const char *str2){ /*if (strlen(str2) > strlen(str1)){ printf("Error"); return; } char *p = str1; w...
2019-05-14 12:00:37
607
原创 整形在内存中的存储
int main(){ char a = -1; signed char b = -1; unsigned char c = -1; printf("a=%d,b=%d,c=%d", a, b, c); system("pause"); return 0;}其中a和b的输出结果应该一致的(在不标注有无符号时默认为有符号)。char a : 1000 0001(原码),1111...
2019-04-24 13:45:19
132
原创 利用C语言实现对单个字符串逆转
将“student a am i”在不使用库函数和不单独开辟空间的情况下转为“i am a student”。可先将student a am i转换为 i ma a tneduts在转换为 i am a student故首先应将字符串逆置,在对单个单词进行逆置:1:将字符串逆置,利用Strlen函数求字符串的长度。void Revers...
2019-04-18 15:47:42
1148
原创 求平均数的几种方法
利用(a+b)/2的公式法来求:这种方法最容易想到,但需注意a>>1和a/2的结果相同但前一种方法只适用于无符号类型右移时前补0.若为负数时右移前补1.int Aver1(int x, int y){ return (x + y) / 2;}利用a+(b-a)/2来求:这种方法与公式法在本质上是一样的。int Aver(int x,int y){ int num...
2019-04-18 15:34:57
2362
原创 利用‘递归’思想来简化问题
首先,经典的汉诺塔问题用递归来实现将会很简单,代码如下:void Move(char pos1, char pos2){ printf("%d-->%d\n", pos1, pos2);}void Hannoi(int n, char pos1, char pos2, char pos3){ if (1 == n){ Move(pos1, pos3); } else{...
2019-04-12 17:31:57
144
原创 C语言——操作符介绍
操作符分类:算术操作符,移位操作符,位操作符,赋值操作符,单目操作符,关系操作符,逻辑操作符,条件操作符,逗号表达式,下标引用,函数调用和结构成员。算术操作符:+ - * / %1:除了%操作符之外,其他几个操作符可以作用于整数和浮点数。2:对 / 操作符,如果两个操作数都为整数,执行整数除法,而只要有浮点数执行的就是浮点数除法。3:%操作符的恋歌操作数...
2019-04-09 18:22:32
294
原创 利用C语言实现“扫雷”游戏
实现“扫雷游戏”:设置一个12*12的格子,由计算机布下随机位置的雷,用户排雷,当用户找出所有雷的位置即为获胜。一:设置游戏入口,用户选择是否玩游戏;二:由计算机随机产生规定个数的“雷”的位置;三:由用户手动输入坐标进行游戏;四:显示用户排雷的过程。1:用户选择’1‘:进入游戏,选择’0‘退出游戏。作为进入游戏的条件。void ShowUI(){ printf("...
2019-04-09 17:21:23
229
原创 利用C语言实现“三子棋”游戏
“三子棋”小游戏:由电脑和用户来完成游戏操作,若哪一方首先实现一行列,一竖列,对角线均为自己的棋子则获胜。一:产生游戏界面,判断是否进入游戏的条件;二:电脑要能够产生正确的随机数,表示棋子的位置;三:无论哪一方下完棋要判断下棋结果的输赢;四:用户可以从键盘输入左边,表示棋子的位置五:要能够在电脑上显示出棋盘以及下棋的过程;1:显示一个是否选择玩游戏的界面,...
2019-04-08 22:27:04
133
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人