自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MyBatis项目的创建和运行

MyBatis项目的创建和运行

2022-11-01 15:20:49 225 1

原创 力扣刷题记录

刷题记录

2022-07-09 10:06:34 148

原创 IO流详解(input/output)

IO流FIle概述和方法File:它是文件和目录路径的抽象表示文件和目录是可以通过File封装成对象的对于File而言,其封装的并不是一个真正存在的文件,仅仅是一个路径名。它是可以存在的,也可以说不存在的,要通过具体的操作把这个路径的内容转换为具体存在的File(File parent, String child) 从父抽象路径名和子路径名字符串创建新的 File实例。 File(String pathname) 通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例

2021-08-27 15:33:11 723

原创 关键字private、static、final

private是权限修饰符可以修饰成员(成员方法和成员变量)作用是保护成员不被其它类使用权限:public>protected>默认>privatefinal是最终的意思,可以修饰成员变量、成员方法、类修饰方法:表示是最终方法,不能被重写修饰变量:表示该变量是常量,不能被再次赋值修饰类:表示该类是最终类,不能被继承static 是静态的意思,可以修饰成员方法和成员变量被修饰的对象会共享,可以通过类去访问,也可以通过对象去访问。...

2021-08-19 19:20:13 913

原创 类与对象和构造方法

什么是类?类是一类具有多种相同属性和行为的集合什么是对象?对象是客观事物,所有的事物都是对象类与对象的关系:类是对象的抽象,对象是类的具体。类的定义package pratise;public class sort { //成员变量 int gap ; //成员方法(希尔排序) public void Shell(int[] arr) { gap = arr.length; int i, j; while (ga

2021-08-18 12:24:44 112

原创 飞翔的小鸟(C语言)

#include<stdio.h>#include<conio.h>#include<graphics.h>#include<mmsystem.h>#include<stdlib.h>#include<time.h>#pragma comment(lib,"winmm.lib")void GameDraw();void BirdMove();DWORD WINAPI MusicPlay(LPVOID lpparamer

2021-08-14 20:15:23 706

原创 使用easyx的贪吃蛇

#include<graphics.h>#include<stdio.h>#include<time.h>#include<stdlib.h>#include<conio.h>#include<mmsystem.h>#pragma comment(lib,"winmm.lib")#define WIN_WIDTH 640#define WIN_HEIGHT 480#define MAX_SNAKE 100enum.

2021-08-12 23:11:04 135

原创 c语言指针详解

指针指针的定义字符指针整形指针数组指针函数指针函数指针数组指向函数指针数组的指针指针的定义指针相对于一个内存单元来说,指的是单元的地址,该单元的内容里面存放的是数据。在C语言中,允许用指针变量来存放指针,因此,一个指针变量的值就是某个内存单元的地址或称为某内存单元的指针。简单来说,指针就是用来存放地址的。讲解的内容有:字符指针整形指针数组指针函数指针指针数组指向指针数组的指针函数指针数组指向函数指针数组的指针在32位系统下,所有的指针都是4个字节大小。在64位系统下,所有的指针都是

2021-08-11 20:57:21 178 2

原创 浮点数的存储

首先我们看到这段代码:int main(){ int n = 9; float* p = &n; printf("%d\n", n); printf("%f\n", *p); *p = 9.0; printf("%d\n", n); printf("%f\n", *p);}结果是这样的:为什么会有不同的结果呢?在n中存储的数明明是同一个数,最后显示的结果却不同。这是因为浮点数的存储规则和整数不一样,整数存在原码、反码和补码,而浮点数另有一套自己的规则。根据IEEE

2021-08-09 17:52:10 160

原创 栈详解(顺序栈和链栈)

栈什么是栈?顺序栈链栈什么是栈?栈是一种基本数据结构,因其拥有后进先出的特点(Last in First out),也就是LIFO,栈的一种常见用途就是用来判断一串字符中的括号是否有效。括号的类型有{}、[]、(),“{[]}”像这样的就是有效的,而像"{[])"这样的就是无效的括号,这通常用于编译器的语法检查。在内存的中使用也是一种栈,因函数调用会压栈,每调用一次压栈一次,当递归层次太深时,我们经常看到编译器报错:“Stack Overflow”,也就是栈溢出。栈的主要操作有Push和Pop,入

2021-08-08 19:56:49 1424

原创 链表详解(双向)

链表双链表的介绍双链表的创建双链表的长度双链表的插入双链表的删除双链表的介绍看到这里,我相信你们都已经对单向链表有一定的了解,与数组相比较,链表在处理插入和删除的时候非常好用,缺点是消耗的空间较大,而且还不能通过下标进行访问。链表有单向和双向,单向查询困难,要找到某个元素需要将这个元素之前的位置都遍历一遍。除此之外,单向的链表想要访问上一级特别困难。在此基础上,出现了双链表。这就是双链表,双链表的头节点prev可以为NULL,也可以与链表末端链接形成双向循环链表。双链表的创建首先要创建一个

2021-08-07 19:34:05 233

原创 函数栈帧 :局部变量的创建与销毁? 函数的调用? 传参的形式?

eax ebx ecx edx 这些是cpu里面的寄存器ebp esp 存放地址的寄存器,用来维护函数的栈帧。c语言代码如下#include<stdio.h>int Add(int x, int y){ int z = 0; z = x + y; return z;}int main(){ int a = 10; int b = 20; int c = 0; c=Add(a, b); return 0;}首先我们要知道main函数也是被其他函数调用的

2021-08-06 15:52:46 385

原创 力扣链表题分享

链表合并俩个有序链表删除重复元素反转链表环形链表判断相交链表合并俩个有序链表方法一:创建一个节点,L1和L2同时进行比较,值小的让新节点指向那个节点,同时那个链表往后前进。struct ListNode* mergeTwoLists(struct ListNode* l1, struct ListNode* l2){ if(!l1) return l2; if(!l2) return l1; struct ListNode head; struct ListNo

2021-08-05 16:54:58 97

原创 震惊!让博主彻夜未眠的原因竟是这个(归并排序(c语言))

归并排序是很有意思的排序,将已有序的序列合并,从而得到完全一样的序列,即先使子序列有序再进行合并。对于一个数组,左边left,右边right,我们取中点値mid,以此为基点进行分割,此过程可以使用递归来实现。分割完毕后进行合并。在经历分割之后,开始排序并合并。void Bsort(int* arr, int left, int right, int* tmp){ if (left >= right)//若不可分割,返回 { return; }

2021-08-04 15:59:04 141

原创 希尔排序(C语言)

希尔排序,又称缩小增量法。其基本思想是: 1.先选定一个小于N的整数gap作为第一增量,然后将所有距离为gap的元素分在同一组,并对每一组的元素进行直接插入排序。然后再取一个比第一增量小的整数作为第二增量,重复上述操作… 2.当增量的大小减到1时,就相当于整个序列被分到一组,进行一次直接插入排序,排序完成。问题:为什么要让gap由大到小呢?answer:gap越大,数据挪动得越快;gap越小,数据挪动得越慢。前期让gap较大,可以让数据更快得移动到自己对应的位置附近,减少挪动次数。注:一般情况下,

2021-08-03 06:08:56 236 1

原创 链表详解(单向)

这里写目录标题链表创建插入删除释放链表什么是链表?链表是一种数据结构,利用结构体变量实现,链表包含数据域和指针域。因为创建链表需要动态内存分配,但是分配的内存在内存中是不连续的,需要指针域将它们连起来,就像一条链子一样,所以叫链表。创建#include<stdio.h>#include<stdlib.h>typedef struct Node { int data; Node* next;}List;List* Listcreat(int n)

2021-08-02 07:47:45 274

原创 easyx的安装与使用

EasyX Graphics Library 是针对 Visual C++ 的免费绘图库,支持 VC6.0 ~ VS2019,简单易用,学习成本极低,应用领域广泛。目录easyx的绘图设备相关函数颜色模型(宏定义)图形颜色及样式设置相关函数easyx的下载easyx的绘图设备相关函数cleardevice() 使用背景颜色清空绘图设备void cleardevice();initgraph() 初始化窗口HWND initgraph( int width, int height, int

2021-08-01 09:30:36 1629

原创 c语言库函数——qsort 以及背后的快速排序算法

函数声明:void qsort(void *base, size_t nitems, size_t size, int (*compar)(const void *, const void*))#include <stdio.h>#include <stdlib.h> int values[] = { 88, 56, 100, 2, 25 }; int cmpfunc (const void * a, const void * b){ return ( *(i

2021-07-31 17:01:11 335 1

原创 杨辉三角形

什么是杨辉三角形?这个就是杨辉三角形,从第三行开始的每个数字都等于这位数的前一行一列和前一行之和。在此之前,我们先将问题简化,先输出零。#include<stdio.h>int main(){ int i, j, n; int arr[30][30] = { 0 }; scanf("%d", &n); for (i = 0; i < n; i++) { for (j = 0; j < n; j++)

2021-07-30 18:17:34 129

原创 有序数组中插入一个数

对于有序的数组插入一个数,我们可以想到可以直接插入和尾插而无论哪一种方法,都需要考虑要插入的数是第一个还是最后一个。可以看下图分析我们还需要分析要插入的数在最前面和最后面的情况直接插入分析完毕!具体代码如下:#include<stdio.h>int main(){ int arr[10] = { 0 }; int i, j, k, n; scanf("%d", &n); for (i = 0; i < n; i++)

2021-07-29 19:22:41 1515 1

原创 2021-07-29

按位与 &按位或 |按位异或 ^一道面试题,在不使用创建临时变量的交换a,b的值即a=5,b=3,交换后a=3,b=5.我所知交换变量有三种办法,第一种就是最常用的临时变量。第二种运算符+和-。第三种使用异或代码如下#include<stdio.h>int main(){ int a = 5; int b = 3; a = a + b;//此时a为a和b的和 b = a - b;//和减去b得到原来的a a = a

2021-07-29 10:26:34 48

原创 算术运算符、关系运算符、赋值运算符和逻辑运算符

文章目录算术运算符关系运算符逻辑运算符赋值运算符算术运算符算术运算符有:+ - * / % ++ –++分为前置++ 和后置++,这俩者有所不同。前置++是先加后用,后置++是先用后加。前置–是先加后用,后置–是先用后加。如下:我们可以看出++a在a++之前,也就是说 ++a和a++屏幕显示的是6。public class s{ public static void main(String[] args) { int a,b; a=

2021-07-28 07:29:06 5800

原创 精度损失以及原码,补码和反码

在java中,整数字面值默认为int,在取值范围小于int的byte,short,char,是可以直接赋值的,不需要类型转换。小容量的数据赋值给大容量时是默认的,但大容量的数据转换成小容量的数据时,可能会损失精度,所以编译报错,若要成功赋值,需要强制类型转换k5=(int)k42147483648已经超出int的取值范围,所以赋值失败,若要赋值,需要在其后面加l/L精度损失:在强制类型转换后,可能会损失精度,如下:原码、反码和补...

2021-07-27 08:07:45 313

原创 数据类型和编码

基本的数据类型分为四大类和八小种第一类:整数型byte 1short 2int 4long 8第二类:浮点型float 4double 8第三类:布尔型Boolean 1第四类:字符型char 2当字符进行编码和解码的时候使用的对照表不一样就会出现乱码最早的编码是Ascll码中文编码:GBK、GB2312、GB18030等Unicode...

2021-07-26 07:49:04 394

原创 java标识符

1、什么是标识符?-在java中程序员有权利去命名的词都是标识符-标识符的元素*类名*方法名*变量名*接口名*常量名 ......2、标识符的命名规则【语法规定,语法错误会报错】*一个合法的标识符只能由数字、字母、下划线、和美元符号组成*不能以数字开头*严格区分大小写*关键字不能做标识符3、标识符的命名规则【一种规范,使得程序便于阅读,不遵守不会报错】*见名知意publicclassUserService{ ...

2021-07-26 07:40:33 42

原创 public class 和class 的区别

一个java源文件可以定义多个class运行后会生成多个class文件一个java源文件中public的class不是必须的,也就是说classa是可行的。一个class会定义生成xxx.class字节码文件。若一个java源文件当中定义公开的类的话,只能有一个,并且该类名称必须和java源文件名称一致,不然会报错.每一个class当中都可以编写main方法,都可以设定程序的入口,如果要执行x.class中的main方法:javax...

2021-07-25 15:08:59 61

原创 学java的第一个程序!!!

public class HelloWorld{ public static void main(String[] args){ System.out.println("HelloWorld!");}}publicclassHelloWorld //表示定义一个公开的类,起名Helloworld*public公开的*class类Helloworld类名publicstaticvoidmain(String[] args)// 表示定义一个...

2021-07-25 09:51:14 59

空空如也

空空如也

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

TA关注的人

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