- 博客(80)
- 资源 (8)
- 收藏
- 关注
原创 2022跨年-跨年倒计时(烟花)
前言2022 HAPPY NEW YEAR马上都是新的一年了,岁末已至,是结束也是开始,不管这一年好和坏,都将结束,愿来年有趣有盼,无灾无难,你我都要平安才好,善良勇敢2021年冬至水饺http://dlb.888dly.vip/922022跨年快乐http://b.wazf.top/341跨年倒计时制作步骤步骤一:首先在电脑桌面新建txt文本文档,如下步骤二:在文本文档添加如下代码:其中倒计时界面会显示愿来年有趣有盼,无灾无难,你我都要平安才好等祝福语,同时会有背景音乐<!
2021-12-31 23:19:50 2829 2
原创 数据结构-二叉树最大宽度(Java实现)
二叉树最大宽度题目(力扣662题)给定一个二叉树,编写一个函数来获取这个树的最大宽度。树的宽度是所有层中的最大宽度。这个二叉树与满二叉树(full binary tree)结构相同,但一些节点为空。每一层的宽度被定义为两个端点(该层最左和最右的非空节点,两端点间的null节点也计入长度)之间的长度。解题思路代码实现...
2021-12-26 20:27:44 408
原创 数据结构-二叉搜索树转成递增顺序搜索树(Java)
二叉搜索树转成递增顺序搜索树题目(力扣897题)给你一棵二叉搜索树,请你 按中序遍历 将其重新排列为一棵递增顺序搜索树,使树中最左边的节点成为树的根节点,并且每个节点没有左子节点,只有一个右子节点。方法一:中序遍历后生成新的树1,2,代码实现 public TreeNode increasingBST(TreeNode root) { List<Integer> res = new ArrayList<Integer>(); //中序遍
2021-12-22 16:06:56 850
原创 Java-优先级队列(堆)实现
Java-优先级队列(堆)和堆排序实现一,优先级队列的概念优先级队列中,数据按关键词有序排列,插入新数据的时候,会自动插入到合适的位置保证队列有序。举个例子来说,一组整型数,如果使用优先级队列的话,不管队列之前放入的数据如何,后面添加进去的数据总会被按照升序或者降序排列,优先队列的头是基于自然排序或者Comparator排序的最小元素。如果有多个对象拥有同样的排序,那么就可能随机地取其中任意一个。当我们获取队列时,返回队列的头对象。二,优先级队列的方法优先级队列是比栈和队列更专用的结构,在多数情况下
2021-12-19 23:08:45 766
原创 数据结构-根据二叉树创建字符串(java)
根据二叉树创建字符串(力扣606题)题目你需要采用前序遍历的方式,将一个二叉树转换成一个由括号和整数组成的字符串。空节点则用一对空括号 “()” 表示。而且你需要省略所有不影响字符串与原始二叉树之间的一对一映射关系的空括号对。思路1,通过先序遍历,用StringBuilder拼接大字符串2,括号问题当左树右树都空,可以省略括号当左树空,右树不空,不能省略括号当左树不空,右树空,可以省略括号代码实现 StringBuilder sb = new StringBuilder();
2021-12-15 22:23:26 539
原创 Java根据前序中序遍历构建二叉树
105题-从前序中序遍历构建二叉树题目给定一棵树的前序遍历 preorder 与中序遍历 inorder。请构造二叉树并返回其根节点。Input: preorder = [3,9,20,15,7], inorder = [9,3,15,20,7]Output: [3,9,20,null,null,15,7]示例 2:Input: preorder = [-1], inorder = [-1]Output: [-1]解题思路1,从前序找到根节点2,再从中序寻找该根节点索引,分左右两个区
2021-12-10 22:16:33 979 1
原创 二叉树-判断另一棵树的子树(Java)
572题-另一棵的子树题目给你两棵二叉树 root 和 subRoot 。检验 root 中是否包含和 subRoot 具有相同结构和节点值的子树。如果存在,返回 true ;否则,返回 false 。二叉树 tree 的一棵子树包括 tree 的某个节点和这个节点的所有后代节点。tree 也可以看做它自身的一棵子树。示例 1:输入:root = [3,4,5,1,2], subRoot = [4,1,2]输出:true示例 2:输入:root = [3,4,5,1,2,null,null,
2021-12-10 11:25:13 187
原创 数据结构-判断平衡二叉树(java)
110题-判断平衡二叉树题目:解题思路代码实现 public boolean isBalanced(TreeNode root) { if(root == null){ return true; } // 使用Map存储每个出现节点的高度 // 求当前的左右子树高度 Map<TreeNode,Integer> map = new HashMap<>();
2021-12-09 11:37:49 450
原创 数据结构—判断一棵二叉树是否是完全二叉树(java)
判断一棵二叉树是否是完全二叉树一,完全二叉树的三种节点完全二叉树有右树必有左树,,节点编号和满二叉树一一对应1,度为2的节点有n个2,度为1的节点只能有1个3,度为0的节点有n个二,具体思路1,分两个阶段,第一阶段所有节点都有左树右树,当遇到节点只有左树,或是没有子树切换第二阶段2,该阶段所有节点权全为叶子节点,遇到一个节点有子树就不是完全二叉树3,使用层序遍历,借用队列求解三,代码实现public class IsCompleteTree { public boolean i
2021-12-07 12:25:26 1576
原创 稀疏矩阵相乘运算-数据结构课程设计(C语言)
稀疏矩阵相乘运算一、目的1.了解稀疏矩阵相乘运算特点2.知道稀疏矩阵存储,创建,显示,转置方法二、设计要求1.问题描述利用稀疏的特点进行存储和计算可大大节省存储空间,并实现稀疏矩阵相乘运算2.需求分析(1)用三元组顺序表表示稀疏矩阵,用来实现两个矩阵相乘运算(2)使用三元组表示稀疏矩阵的输入形式,以阵列形式列出运算结果(3)先让用户输入矩阵的列数和行数,给出的两个矩阵行,列数是否和所要求的相对应(4)列出菜单项,用户根据菜单进行所有操作三、概要设计1.主界面设计(1)创建矩阵,输
2021-12-03 14:43:38 3267
原创 Java-数组的定义和使用
一,数组的基本用法1, 什么是数组数组本质上就是让我们能 “批量” 创建相同类型的变量.2, 创建数组// 动态初始化 数据类型[] 数组名称 = new 数据类型 [] { 初始化数据 };// 静态初始化 数据类型[] 数组名称 = { 初始化数据 };代码示例int[] arr = new int[]{1, 2, 3};int[] arr = {1, 2, 3};3, 数组的使用代码示例: 获取长度 & 访问元素int[] arr = {1, 2, 3}; // 获取
2021-11-22 23:13:07 144
原创 Java-抽象类和接口
Java-抽象类和接口一,抽象类1,定义抽象类使用abstract关键字修饰的类,是普通类的超集,普通类有的,抽象类都有,抽象类不能实例化对象abstract class A{ abstract void show(); abstract void show(int i);}2,实现抽象方法用abstract修饰的方法,抽象方法只有方法的名称,参数列表,返回值,没有方法体。抽象类必须有子类,子类必须覆写抽象类的所有方法(除非子类也是抽象类)abstract class A{
2021-11-13 22:59:59 605 2
原创 继承与多态(Java实现)
继承和多态一,类的继承1,继承的实现语法格式:class 子类名 extends 父类名{类体}注:extends是关键字,Java中只支持单继承,所以子类只有一个父类,但可以多层继承,子类通过继承可以获得父类的public,protected,default成员变量和方法,但是不能获得private的成员变量和方法class A{ public int i; A(){ System.out.println("大猫猫正在吃喵粮"); }
2021-11-08 22:50:52 567
原创 反转链表详解版-Java
206题-反转链表给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。示例1:输入:head = [1,2,3,4,5]输出:[5,4,3,2,1]示例2:输入:head = [1,2]输出:[2,1]示例 3:输入:head = []输出:[]方法一:头插法新建一个大小和原链表完全相同的新链表,边遍历原链表,边在新链表将新建节点头插,返回新链表头节点public ListNode reverseList(ListNode head) { //判断边界条件 i
2021-11-02 22:38:26 195
原创 删除链表元素详解版(Java)
203题:移除链表元素给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 。示例 1:输入:head = [1,2,6,3,4,5,6], val = 6输出:[1,2,3,4,5]示例 2:输入:head = [], val = 1输出:[]示例 3:输入:head = [7,7,7,7], val = 7输出:[]1,一般方法:先判断头节点,若不是,向后寻找val节点,找到待删除节点前驱,再删除
2021-10-28 20:34:33 1325 2
原创 java中this关键字的认识
Java中this关键字的认识this关键字的三种用法一,this修饰属性this修饰成员变量,表示直接使用类中的成员变量例如:class Person{ private String name; private int age; public Person(String name,int age){ this.name = name;//this修饰属性 this.age = age; } }二,this修饰方法1,this调用类中的成员方法例如:cl
2021-10-22 20:26:17 163
原创 【Java】类和对象
Java中类和对象前言面向对象编程的特性:封装,继承,多态在Java中,最基本的封装单元是类,一个类的定义为具有相似特征对象的一种抽象,根据类的继承,父类只定义各子类所需的属性和方法,多态是类中同一名称的行为,可以有多种不同的功能一,类的定义1,定义成员变量定义格式:[修饰符] 类型 成员变量名列表;类中所有方法可直接访问成员变量,成员变量修饰符(public,protected,private,final,static)例如定义学生类:class Student {static i
2021-10-20 17:33:22 203 3
原创 java中在数组中找到多数元素
* 题目内容: * 给定一个大小为 n 的数组,找到其中的多数元素。 * 多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。 * 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 * 示例 1: * 输入:[3,2,3] -> [2,3,3] * 输出:3 * 示例 2: * 输入:[2,2,1,1,1,2,2] -> [1,1,1,2,2,2,2] * 输出:2题目分析:1,在数组中找多数元素就是找众数,一般当数组元素排序后众数是中间的元素2.
2021-10-16 11:54:00 372
原创 Java中求数组中所有元素的平均值
Java求数组中所有元素的平均值实现一个方法 avg, 以数组为参数, 求数组中所有元素的平均值(注意方法的返回值类型)1,先求数组的和,使用递归2, 终止条件startIndex==endIndex3,求平均值(double)sum/arr.length使用了强制类型转化代码实现public class Test { public static void main(String[] args) { int[] arr=new int[]{1,2,3,4,5,6,7,
2021-10-14 23:12:22 6004 8
原创 递归,迭代算法
几种算法一,.递归方程(用迭代法)*斐波那契数列斐波那契数列:第1,2两个数为1,1。从第三个数开始,该数是其前面两个数之和。#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <stdlib.h>int main(){ int n = 0; int a = 1; int b = 1; int c = 0; int i = 0; scanf("%d", &n); printf("%5
2021-09-12 16:12:38 352 2
原创 扫雷游戏源代码
设计概要1.首先我们需要知道扫雷游戏程序设计的本质,用函数实现游戏的过程,先分一个大的模块,接着去分成小的模块,比如先去设置九宫格棋盘,再去初始化二维数组,设置地雷的数量,为避免重复要去扫雷,根据每个坐标位置的数字显示判断。2.与布雷的设计流程一样,也要将雷阵设计成(A+2)×(A+2);因为这个地雷阵为玩家雷阵,为了增加神秘性,可以将它其初始化为字符*,或是其他字符也可以。3.游戏设计中,#代表地雷,而0代表没有地雷,每个坐标位置的数字代表周围8个格子的地雷数量。#include<stdi
2021-08-19 14:45:27 1068 2
原创 C语言-扫雷游戏程序设计
一.问题要求本题目要求我们设计一个程序实现扫雷游戏,在游戏时利用最短时间内去点击九宫格的格子显示数字去找出非地雷的格子,并且避免踩到地雷。在完成基本要求的情况下,去提高游戏性,同时增强用户的体验感受和可玩性,以及对数字的反应能力。2.程序的功能(1)首先当确定第一个格子里为地雷时,需要将地雷转换到其他格子,防止游戏一开始后就结束。(2)当我们选择的格子位置周围不存在地雷时,就要以九宫格的形式散步开来,再进行扫雷周围过程,并判断该坐标是否有地雷,同时进行统计地雷的总数,以便减去不必要的过程,从而提升
2021-08-19 14:39:10 6279 2
原创 Java中数据类型详解
一,数据类型的作用程序中有很多数据,每个数据都是有相关类型的,不同的数据类型占用的空间大小不同二,Java中数据类型包括两种1,基本数据类型2,引用数据类型三,基本数据类型基本数据类型包括四大类八小种:第一类:整数型byte,short,int,long第二类:浮点型float,double第三类:布尔型boolean第四类:字符型char四,基本数据类型之间的转化1,八种数据类型除了布尔类型,其他类型都可以相互转换2,小容量向大容量转换,称为自动类型转换注:任何浮点型不
2021-08-13 19:51:51 2152 2
原创 C++的6个缺省函数
一.在C++中默认产生6个类成员函数,即缺省函数,它们分别是:1.缺省构造函数2.缺省拷贝构造函数3.缺省析构函数4.缺省赋值运算符5.缺省取址运算符6.缺省取地址运算符二,const对于空类,编译器不会生成任何的成员函数,只会生成1个字节的占位符。有时可能会以为编译器会为空类生成默认构造函数等,事实上是不会的,编译器只会在需要的时候生成6个成员函数:一个缺省的构造函数、一个拷贝构造函数、一个析构函数、一个赋值运算符、一对取址运算符和一个this指针。1.构造函数定义及调用1) c++中的
2021-08-04 16:53:57 1875
原创 C语言if语句,for循环相关年月日应用
一,if双分支语句变成单分支语句1.if单分支语句 if ( 表达式 ){代码块;}2.if双分支语句 if ( 表达式 ){ 代码块1; }else{ 代码块2;}3.if双分支语句改成单分支语句如果else 后面的语句什么也不做,就可以去掉它。如果if后面的语句和else后面的语句是简单的数字运算,可以改成三目运算符,表达式1?表达式2:表达式3的形式。二,采用冒泡排序法对n个数据排序将第一个元素和第二个元素进行比较,若为逆序则将两个元素交换,然后比较第二个元素和第
2021-07-06 23:23:15 1564 5
原创 C语言数据类型,运算符,函数
一,C语言的数据类型1.整型。包括short、int、long等,用以表示一个整数,默认为有符号型,配合unsigned关键字,可以表示为无符号型。2.实型,即浮点型。包括float, double等,用来表示实数,相对于整型。3.字符型,即char型。用来表示各种字符,与ascii码表一一对应。4.布尔型,即bool型,也就是逻辑型变量,它具有YES值,NO值,类似于float和double类型。扩展:char 字符型,占1个字节short 短整型,占2个字节int 整型,占4个字节lo
2021-07-06 19:52:04 2290
原创 C语言数组和指针
一,C语言的数组1.什么是数组数组是存储数据的结构。由于单个变量所能存储的数据很有限,所以有了数组存储结构。不仅如此,数组和指针是相辅相成的,学习数组可以为学习指针打下基础。2.数组的定义方式2.1一维数组(1)通常一维数组的定义方法为:类型说明符 数组名[常量表达式];例如:int a[5];(2)它表示定义了一个整型数组,数组名为 a,定义的数组称为数组 a。数组名 a 除了表示该数组之外,还表示该数组的首地址;此时数组 a 中有 5 个元素,每个元素都是 int 型变量,而且它们在
2021-07-06 13:36:15 473 2
原创 C++中变量的引用和引用作函数形参和返回值
一,变量的引用1.引用是一种新的变量类型,它的作用就是为变量起一个别名例如:int b;int &a=b;注:&表示引用声明符,不表示地址2.声明一个引用类型变量时,必须在定义时进行初始化,及声明它代表哪一个变量例如:#include<iostream>using namespace std;int main(){ int b; b=10;//赋初值 int &a=b;//引用 cout<<b<<endl;
2021-03-17 23:01:43 1994 2
原创 C++中将字符(串)转化成数字,将数字转化成字符(串)
一:将字符串转化成数字1.使用字符串流stringstream来做类型转化。stingstream能将任何类型轻松转变为字符串类型,也能将字符串类型转变为数字类型2.使用stoi()或atoi()进行字符串转换二:将数字转化字符串1.数字转化为字符串:加 ‘0’ ,然后逆序。2.数字转字符串sprintf(str, “%d”, num);三:将数字转化成字符1.int转char 类型 和数字字符转数字相反 我们可以加上 ‘0’的ASCII 就可以变为char类型四:将字符转化成数字字
2021-03-14 17:07:06 4351 8
原创 在虚拟机下Ubuntu里设置c++环境,并使用codeblocks 编写hello world
在ubuntu下写c++程序有很多种,比如CodeBlocks加粗样式1.首先打开虚拟机,找到终端2.安装基础环境,输入命令3输入命令sudo apt-get install build-essential接着输入Y4.在ubuntu软件搜索codeblocks并下载,安装完成后点启动5.安装完成后,点击创建新文件,然后点击console application6.然后输入文件名称比如111,注意不要用中文7.双击main.cpp,接着点击build,最后点击run运行8.
2021-03-14 15:17:43 1216 2
原创 在vmware环境下安装ubuntu
在vmware环境下安装ubuntu18.04基本操作1.下载VMware workstation16.2.下载ubuntu-18.04.5.3.安装vmware,创建虚拟机一:了解VMware workstation16vmware workstation pro16是一款非常知名的虚拟机软件,允许用户在同一Windows系统上运行一个或者多个虚拟机,OCI容器和Kubernetes群集。并且在最新版本中软件得到了一系列功能上的优化以及界面上的改进,但是由于官方版本需要付费才能使用全部的功能,
2021-03-13 15:06:49 1136 8
学生信息管理系统报告.doc
2023-06-15
毕业设计-ssm学生选课管理系统(Java)
2023-06-15
java-web设计-小区停车收费系统.docx
2023-01-09
高校就业管理系统.docx
2023-01-09
计算机网络--校园局域网课程设计.doc
2022-07-07
校友信息管理系统设计.docx(数据库)
2022-07-07
实验-数组字符串(java).docx
2022-01-08
实验-面向对象编程多态( java).docx
2022-01-08
课程设计-综合查找.doc
2022-01-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人