- 博客(38)
- 收藏
- 关注
原创 【二叉树遍历】已知一棵二叉树的后序遍历为DABEC,中序遍历为DEBAC,则先序遍历为
通过已知的后序遍历和中序遍历,我们可以构造出这棵二叉树并求出它的先序遍历。在后序遍历中,最后一个节点是根节点,因此根节点为。将序列分成左右子树:左子树为。
2024-11-07 14:24:29
354
原创 @SpringBootApplication注解有什么用(简单)
是 Spring Boot 应用的一个核心注解,它用于标记一个主程序类,使其成为 Spring Boot 应用的入口。: 这个注解告诉 Spring Boot 根据应用所声明的依赖,猜测和配置需要的 bean。这样可以自动配置 Spring 应用的上下文,避免了大量的手动配置。: 这个注解启用组件扫描,允许 Spring 查找并注册在当前包及其子包中定义的所有。成为配置和启动 Spring Boot 应用的一个便利工具。注解,表示这是一个 Spring 配置类。
2024-07-18 10:22:49
320
原创 SpringBoot如何限制请求访问次数
在Spring Boot应用中限制请求访问次数可以通过几种不同的方法实现,如使用Rate Limiting中间件或自定义拦截器。
2024-07-18 10:18:49
871
原创 linux的rm命令是删除到回收站吗?
图形化文件管理器(如 GNOME 的 Nautilus 或 KDE 的 Dolphin)通常提供回收站功能,用户可以在这些文件管理器中通过右键菜单删除文件,它们会被移动到回收站。回收站机制需要额外的磁盘空间来保存被删除的文件,对于服务器和嵌入式设备等资源有限的环境,这种节省是有意义的。命令直接删除文件,符合这种设计理念,而不是增加复杂性来管理一个回收站。:用户可以编写脚本,实现类似回收站的功能。:一个命令行工具,可以将文件移动到回收站而不是直接删除。,将文件移动到指定的“回收站”目录,而不是直接删除。
2024-07-18 10:11:47
475
原创 Linux常用命令(简要总结)
Linux 是一个强大的操作系统,广泛应用于服务器、开发和嵌入式系统中。掌握一些常用的 Linux 命令对于高效地使用系统至关重要。以上是 Linux 系统中常用的一些基本命令。:分页查看文件内容,支持向前翻页。:显示目录或文件的磁盘使用情况。:实时显示系统性能和进程信息。:移动或重命名文件或目录。:更改文件或目录所有者。:显示磁盘空间使用情况。:连接并显示文件内容。:查看文件的开头部分。:查看文件的结尾部分。:在文件中搜索字符串。:更改文件或目录权限。:显示或配置网络接口。:通过SSH复制文件。
2024-07-18 10:07:34
20033
16
原创 postman中参数和x-www-form-urlencoded传值的区别
Params:用于在 URL 中传递查询参数,适用于 GET 请求和非敏感数据。:用于在请求正文中传递数据,适用于 POST 请求和表单数据。选择哪种方式取决于具体的使用场景和数据类型。
2024-07-04 16:17:56
1070
原创 验证输入数据的注解:@NotNull和@NotEmpty的区别
使用@NotNull确保字段不为null。使用@NotEmpty确保字段不为null且不为空。具体使用哪个注解取决于你的业务需求,例如:对于用户名,通常希望它既不为null也不为空,因此使用@NotEmpty更合适;而对于密码,我们不仅希望它不为null,还希望它符合一定的长度,因此可以组合使用@NotNull和@Size。
2024-07-04 15:09:27
680
原创 错误V000151: A method overriding another method must not redefine the parameter constrain
NotNull;Size;// 实现代码 } }// 实现代码 } }// 实现代码 } }NotNull;// 实现代码 } }// 实现代码 } }Size;@Override// 实现代码在上述示例中,类的register方法完全遵循接口的参数约束配置。@Overridepublic void register(@NotNull @Size(min = 3, max = 16) String username, // 错误的约束。
2024-06-18 23:01:20
1431
原创 Result类忘记添加@Data注解导致406错误
Data注解帮助确保对象具有必要的getter和setter方法,从而使序列化过程顺利进行,间接避免了可能导致的 406 错误。然而,直接导致 406 错误的原因通常是请求头与响应格式不匹配,因此在开发中还需要确保客户端和服务器之间的正确通信。
2024-06-18 20:54:32
556
原创 MyBatis通过配置实现下划线命名法和驼峰命名法之间的自动转换
如果你需要更复杂的转换逻辑,可以使用自定义类型转换器。在这种情况下,你需要实现接口。
2024-06-18 10:13:40
2437
原创 @ComponentScan 和 @ServletComponentScan的区别
和是用于 Spring 框架中进行组件扫描的注解,但它们有不同的用途和应用场景。
2024-06-17 10:47:31
1148
原创 常用参数注解
异步获取 json 数据,加上 @ResponseBody 后,会直接返回 json 数据。服务于SQL语句中的参数数值,@Param 是mybatis注解。@RequestMapping后,返回值通常解析为跳转路径。@ResponseBody注解是写在方法上的。
2024-06-17 10:14:36
368
原创 新项目Springboot报错: Whitelabel Error Page
一般出现这个问题的原因就是目录结构不正确,导致主应用程序类(Main application class)扫描不到controller类。在application类上加上@ComponentScan的注解:(com.example是需要扫描的包名)默认情况下主应用程序类(Main application class)只会扫描同一包下的Class。新项目Springboot报错: Whitelabel Error Page。
2024-06-17 09:30:29
786
原创 使用 C# 进行 FTP 文件夹上传到服务器的示例代码
这个示例中,我们首先创建了远程文件夹,然后递归地上传文件和子文件夹。请注意,确保你的应用程序具有足够的权限来访问本地文件和文件夹,以及执行FTP上传操作。同时,对于真实的应用场景,你可能需要添加更多的错误处理和逻辑。以下是使用 C# 进行 FTP 文件夹上传到服务器的示例代码。你需要将其中的变量(如服务器地址、用户名、密码、本地文件夹路径、远程服务器目录)替换为实际的值,并确保你的程序引用了 System.Net 命名空间。
2023-08-25 16:17:07
1168
原创 (数据结构)删除有序的顺序表中的重复元素
#include <stdio.h>#include <stdlib.h>#define DATATYPE int#define MAXSIZE 100typedef struct{ DATATYPE data[MAXSIZE]; int len; }SEQUENLIST;void INITATE(SEQUENLIST *L)//初始化线性表,参数L是表的名字 { L->len=0; }void CREAT(SEQUENLIST *L,int n)
2020-12-16 21:24:02
3675
原创 (数据结构)设计一算法,逆置带头结点的单链表head,要求利用原表的结点空间,并要求用尽可能少的时间完成。
/*带头结点的单链表逆置 */#include<stdio.h>#include<stdlib.h>struct node{ int data; struct node* next;};struct node* creat(){ //构造单链表 int i,num; struct node* head; struct node* q; head = (struct node*)malloc(sizeof(struc
2020-12-16 21:16:00
2990
原创 (数据结构)实现非递归的二分查找算法
#include <stdio.h>#include <stdlib.h>int binSearch1(int* a, int left, int right, int data){ int mid =0; while (left<=right) { mid = (left + right) / 2; if (data == a[mid]) { return mid; } else if (data > a[mid]) {
2020-12-16 20:39:47
385
原创 (数据结构)在顺序表中实现删除操作
#include <stdio.h>#include <stdlib.h>#define DATATYPE int#define MAXSIZE 100typedef struct{ DATATYPE data[MAXSIZE]; int len; }SEQUENLIST;void INITATE(SEQUENLIST *L)//初始化线性表,参数L是表的名字 { L->len=0; }void CREAT(SEQUENLIST *L,int n)
2020-12-16 20:17:05
1800
1
原创 (数据结构)在顺序表中实现插入操作
#include <stdio.h>#include <stdlib.h>#define DATATYPE int#define MAXSIZE 100typedef struct{ DATATYPE data[MAXSIZE]; int len; }SEQUENLIST;void INITATE(SEQUENLIST *L)//初始化线性表,参数L是表的名字 { L->len=0; }void CREAT(SEQUENLIST *L,int n)
2020-12-16 20:03:52
4902
1
原创 2020-11-05
#include<stdio.h>#include<stdlib.h>struct NODE{int date;struct NODE *next;};typedef struct NODE *node;int count = 0;node creat(){node pHead=NULL,pNew,pEnd;printf(“输入数据,当输入-1时停止\n”);pNew=(node)malloc(sizeof(struct NODE));scanf("%d",&
2020-11-05 10:51:54
161
原创 (数据结构)冒泡排序,直接插入排序
#include <stdio.h>#include <stdlib.h>#define KEYTYPE int#define MAXSIZE 100typedef struct{ KEYTYPE key;}RECORDNODE;void gaosort(RECORDNODE *r,int n){ int i,j; for(i=n-2;i>=0;i--) { r[n]=r[i]; j=i+1; while(r[n].key>r[j].k
2020-11-04 22:49:19
243
原创 (数据结构)实现递归的二分查找算法。
#include <stdio.h>#include <stdlib.h>#define DATATYPE char#define NULL '\0'typedef struct node{ DATATYPE data; struct node *lchild,*rchild;}BTLINK;BTLINK *creat(){ BTLINK *q; BTLINK *s[30]; int j,i; char x; printf("i,x="); scan
2020-10-22 12:03:22
264
原创 (数据结构)以二叉链表作存储结构,设计求二叉树高度的算法。
#include <stdio.h>#include <stdlib.h>#define DATATYPE char#define NULL '\0'typedef struct node{ DATATYPE data; struct node *lchild,*rchild;}BTLINK;BTLINK *creat(){ BTLINK *q; BTLINK *s[30]; int j,i; char x; printf("i,x="); scan
2020-10-22 11:36:57
5272
原创 作业4链队列
```c#define datatype int#define NULL 0#include <stdio.h>#include <stdlib.h>typedef struct qnode{ datatype data; struct qnode *next;}LINKNODE;typedef struct{ LINKNODE* front,*rear;}LINKQUEUE;void initlinkqueue(LINKQUEUE* q){ .
2020-10-09 14:42:09
149
原创 (数据结构)建立循环队列,将一组数据入队,然后再分别出队并输
#include <stdio.h>#define MAXSIZE 100#define datatype char#define NULL '\0'typedef struct{ datatype data[MAXSIZE]; int front,rear;}SEQUEUE;void initqueue(SEQUEUE *q){ q->front=-1; q->rear=-1;}void enqueue(SEQUEUE *q,datatype x)
2020-10-09 13:59:35
1430
原创 作业2
#include <stdio.h>#define datatype int#define MAXSIZE 100#define NULL 0typedef struct snode{ datatype data; struct snode *next;}LINKSTACK;LINKSTACK *top=NULL;void pushstack(datatype x){ LINKSTACK *p; p=(LINKSTACK *)malloc(sizeof(LINKSTA
2020-10-08 11:55:57
574
原创 (数据结构)建立链栈,将一组数据入栈,然后再分别出栈并输出。
#include <stdio.h>#define datatype char#define MAXSIZE 100#define NULL '\0'typedef struct{ datatype data[MAXSIZE]; int top;}SEQSTACK;void initstack(SEQSTACK *s){ s->top=-1;//赋值 }void push(SEQSTACK *s,datatype x)//入栈 { if(s->top
2020-10-08 11:05:10
1644
1
原创 twj
第一题:#include <stdio.h>int main(void){ int i,count=0; for(i=1;i<=100;i++) { if(i%5==0&&i%7==0) count++; } printf("100以内既是5又是7的倍数的有\t%d个",count); return 0;}第二题:#include <stdio.h>int main(void){ int i; int a=50,
2020-09-10 17:23:48
356
原创 c语言笔记:c的四舍五入
c语言中的四舍五入对于整数: 使用形如(int)(f+0.5)float f = 1.5;int i = (int)(f + 0.5);//i就是f四舍五入后的结果对于小数: 有两种办法需要用于计算(类似整数的做法)float a;a = (int)(1000.0 * a + 0.5) / 1000.0;//先变成整数四舍五入后再除回来如果只是需要输出(使用printf函数的特性,".4f"就是四舍五入到小数点后四位)float a=2.1234567;float b=3.
2020-05-31 17:45:13
2770
原创 第六周编程题在线测试
第六周编程题在线测试**1.计算阶乘的和v2.0(4分) **假设有这样一个三位数m,其百位、十位和个位数字分别是a、b、c,如果m= a!+b!+c!,则这个三位数就称为三位阶乘和数(约定0!=1)。请编程计算并输出所有的三位阶乘和数。函数原型: long Fact(int n);函数功能:计算n的阶乘#include <stdio.h>long Fact(int n);long sum(int a, int b, int c);int main(void){ int
2020-05-28 22:37:12
1662
原创 c语言笔记:指针和数组
指针和数组如果a是个数组,那么 a == &a[0];相同地址:a+1 == &a[1];指针加1,指针的值递增它所指向的类型的大小。;相同的值:*(a+1) == a[1];在指针前面使用*运算符可以看到该指针所指向对象的值。;注意区分 *(a+1) 和 *a+1( * 的优先级高于 + );*(a+1):a中第二个元素的值;* a+1:a中第一个元素的值加一;可以在编写程序时适当使用数组表示法或指针表示法#include <stdio
2020-05-11 16:37:52
174
原创 c语言笔记:字符串的初始化
c语言字符串的初始化不指定长度,没有0结束符。char c1[] = { 'a','b','c'}; printf("c1 = %s\nsizeof c1 = %d", c1, sizeof(c1)); v //输出结果: //c1 = abc烫烫蘦? 鲝 、 //sizeof c1 = 3指定长度,后面没有赋值的元素,自动补数字0(结束符)char ch1[100]...
2020-04-27 19:41:56
580
原创 c语言笔记:字符数组与字符串的区别
c语言中的字符数组与字符串的区别c语言中没有字符串这种数据类型,可以通过char的数组来替代。字符串 ==> char数组;char数组 =/=> 字符串;字符串是char数组的充分不必要条件;数字 0 或 ‘\0’ 结尾的char数组是一个字符串,否则就不是一个字符串,只是一个普通字符数组。#include <stdio.h>...
2020-04-27 17:58:43
560
原创 C语言作业:第六章(苏小红版)
6.1打印三种乘法表#pragma warning(disable : 4996)//第一种#include <stdio.h>#include <math.h>int main(void){ int i, j; for (i = 1; i < 10; i++) { printf("%d\t", i); } putchar('\n'); ...
2020-04-23 21:32:28
702
原创 python练习题01
输入一个矩形的长和宽,输出面积a,b=map(int,input().split(','))s = a * bprint(s)输入三个整数,求这三个数的和以及平均,并在屏幕上输出a,b,c=map(int,input().split(','))su=a+b+cav=su/3print("sum=%d,average=%.2f"%(su,av))输入一个三位整数x(...
2020-04-21 15:31:16
921
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人