当前位置: 首页 > news >正文

蓝桥杯 字符串和日期

有一个类型的题目是找到输出图形的规律,然后将其实现。观察下面的图形。你想想你该怎么输出这个图形呢?

  ABBB
#include<stdio.h>
int main(){printf(" A\n");printf("BBB\n");return 0;
}

那么,对于如下的图形:

  ABBB
CCCCC
#include<stdio.h>
int main(){printf("  A\n");printf(" BBB\n");printf("CCCCC\n");return 0;
}

前面分别对应的是输出两层和三层的情况。我们输入需要输出的层数n,当n≤5的时候,我们可以枚举n的不同取值,然后分别输出。如果需要输出更多层,按照上面的方法,确实可以完成任务,但是对应的代码量会更大,编码时间也更长。因此当n>5的时候,我们就需要一些其他的方法来简化代码实现。
仔细观察会发现,第i层输出的前面的空格数(尾部不需要输出空格)和字符的个数都是有规律的,可以根据n和i计算出来。对应输出的字符的ASCI码是‘A’+i-1,其中‘A’可以直接表示字符A的ASCI码。然后我们就可以直接用循环控制来输出了。

给定一个层数n,
输出字母三角形。
输入格式
输入一个整数n(0<n<=26),表示字母三角形
的层数。
输出格式
按照题目播述,输出字母三角形。
样例输入1

2

样例输出1

 A
BBB

样例输入2

3

样例输出2

  ABBB
CCCCC
#include<iostream>
#include<string>
using namespace std;
int main(){int n;cin>>n;for(int i=1;i<=n;i++){string space = string(n-i,' ');string ch = string(2*i-1,'A'+i-1);cout<<space+ch<<endl;}return 0;
}

这次我们输出一个稍微复杂的三角形,输入一个大写字母(A-Z)或者一个数字(1-9)。
比如输入是F的时候,编出:

     AABAABCBAABCDCBAABCDEDCBA
ABCDEFEDCBA

输入是3的时候,输出:

  1121
12321

输入格式
输入一个数字(1-9)或者一个大写字母

#include<iostream>
using namespace std;
int main(){char c;cin>>c;if(c>='A'&&c<='Z'){for(int i=1;i<=c-'A'+1;i++){for(int j=1;j<=c-'A'+1-i;j++){cout<<" ";}for(int j=1;j<=i;j++){cout<<(char)('A'+j-1);}for(int j=i-1;j>=1;j--){cout<<(char)('A'+j-1);}cout<<endl;}}else{for(int i=1;i<=c-'1'+1;i++){for(int j=1;j<=c-'1'+1-i;j++){cout<<" ";}for(int j=1;j<=i;j++){cout<<(char)('1'+j-1);}for(int j=i-1;j>=1;j--){cout<<(char)('1'+j-1);}cout<<endl;}}return 0;
}

在这里插入图片描述

在这里插入图片描述

假设地图是一个n行rn列的方格地图,地图等个
格子·代表一个宝题。比如2行2列的地图如下:

**
**

要建的房子如下:

+-+-+
|*|*|
+-+-+
|*|*|
+-+-+

现在告诉你地图的行列数 画出房子的设计图
输入格式
一行两个整数n,m(0<n,m≤50),分别表示地图行数和列数。
输出格式
按照题目中要求的格式输出地图。
样例输入1

2 2

样例输出1

+-+-+
|*|*|
+-+-+
|*|*|
+-+-+

样例输入2

3 4

样例输出2

+-+-+-+-+
|*|*|*|*|
+-+-+-+-+
|*|*|*|*|
+-+-+-+-+
|*|*|*|*|
+-+-+-+-+
#include<iostream>
using namespace std;
int main(){int n,m;cin>>n>>m;for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){cout<<"+-";}cout<<"+"<<endl;for(int j=1;j<=m;j++){cout<<"|*";}cout<<"|"<<endl;}for(int j=1;j<=m;j++){cout<<"+-";}cout<<"+"<<endl;return 0;
}

在这里插入图片描述

字符串

字符串是编程语言中非常常用的一种数据类型,字符串的处理也是各类算法竞赛中考察较多的一类题型。字符串,简单地说,就是由若干个字符连接在一起的串。
在C/C++语言中规定,末尾以\0结束的字符型数组称为字符串。这里值得强调的是,只有以\0结束的才能算字符串,否则只
能算作字符型数组。这在C/C++中算是一种标准。也只有以\0结束的字符数组才能以“%s”的方式用printf输出,否则输出的结果会非常奇怪。自己在char数组上构造一个字符串的时候,忘记在末尾加\0可能会导致访问非法内存的错误。
在这里插入图片描述
字符串处理函数
很多情况下,都需要对字符串进行复制、剪切、比较等等操作。这些操作理论上都可以自己写代码实现,但是由于这些操作经常使用,每次都要实现一遍太繁琐,现在的大部分语言都提供了基础了字符串操作的库函数。C/C++的字符串处理相关的函数在string.h头文件中。

字符串复制

C/C++中函数原型charstrcpy(chardestin,char*source),将source字符串复制到destin。
C/C++语言示例程序:

#include<stdio.h>
#include<string.h>
int main(){char name[10];char *str="adadad";strcpy(name,str);printf("%s\n",name);return 0;
}

在这里插入图片描述

字符串拼接

C/C++中函数charstrcat(chardest,char*source),可以将source字符串拼接到dest后面。注意,dest必须有足够的空间来容纳拼接出的字符串。
C/C++示例程序:

#include<stdio.h>
#include<string.h>
int main(){char dest[25];char *str1 ="hello", *str2=" ",*str3 ="jisuanke";strcat(dest,str1);strcat(dest,str2);strcat(dest,str3);printf("%s\n",dest);return 0;
}

在这里插入图片描述
c++字符串可以直接用+号连接

#include<iostream>
using namespace std;
#include<string.h>
int main(){
char dest[25];string s1="a";string s2="b";cout<<s1+s2<<endl;return 0;
}

在这里插入图片描述

字符串比较

C/C++中函数int strcmp(charstr1,charstr2),从第一个字符开始逐字符比较两个字符串的ASCll码。如果下标为i的字符不相等,则函数返回str1[i]-str2[i]。如果两个字符串完全相同,则会返回0。

#include<string.h>
#include<stdio.h>
int main(){char *str1="cd",*str2="abc";int res = strcmp(str1,str2);if(res>0){printf("%s is greater than %s\n",str1,str2);}else if(res==0){printf("%s is same as %s\n",str1,str2);}else{printf("%s is less than %s\n", str1,str2);}return 0;
}

在这里插入图片描述

对称字符串

A1: A
A2:ABA
A3: ABACABA
A4: ABACABADABACABA
. . .

对于给定的N,你能根据规律输出AN吗?
输入格式
仅有一个数:N(N≤20)。
输出格式
一行字符串,表示字符串AN。
样例输入

2

样例输出

ABA
#include<stdio.h>
#include<string.h>
char res[5000000];
int main(){int n;scanf("%d",&n);int len = 0;for(int i=1;i<=n;i++){strcat(res+len+1,res);res[len]='A'+i-1;len = strlen(res);}printf("%s\n",res);return 0;
}

在这里插入图片描述

寻找字符串

在一个字符串里找另一个字符串出现了多少次
找到的结果可以重叠
如一号字符串为abababa, 二号字符串为aba
二号字符串在一号字符串中出现了三次
输入格式

输入包含两行,第一行为一号字符串,第二行为二号字符串
两个字符串肯能包含除换行、回车、\0外的任何字符,两个字符串的长度均不大于1000
样例输入1

i miss you!
you

样例输出1

1
#include<cstdio>
#include<cstring>
char s1[1005],s2[1005];
int main(){fgets(s1, 1004, stdin);//fgets会读入换行符fgets(s2,1004,stdin);//用gets就不用-1int len1 = strlen(s1)-1,len2=strlen(s2)-1;int ans=0;for(int i=0;i+len2-1<len1;i++){bool matched = true;for(int j=0;j<len2;j++){if(s1[i + j] != s2[j]){matched=false;break;}}if(matched){ans++;}}printf("%d",ans);return 0;
}

在这里插入图片描述
gets 函数,它的任务是从 stdin 流中读取字符串,直至接收到换行符或 EOF 时停止,并将读取的结果存放在 buffer 指针所指向的字符数组中。这里需要注意的是,换行符不作为读取串的内容,读取的换行符被转换为 null(’\0’) 值,并由此来结束字符串。即换行符会被丢弃,然后在末尾添加 null(’\0’) 字符。
注意:gets函数由于没有指定输入字符大小,所以会无限读取,一旦输入的字符大于数组长度,就会发生内存越界,从而造成程序崩溃或其他数据的错误。

相对于 gets 函数,fgets 函数最大的改进就是能够读取指定大小的数据,从而避免 gets 函数从 stdin 接收字符串而不检查它所复制的缓冲区空间大小导致的缓存溢出问题。
fgets(str, N, stdin) ; str 是指字符数组,N指
最大读入字符数,stdin 表明读取的哪个文件,如果是从键盘上读入数据,可以使用 stdin 作为该参数。

fgets只能读取N-1个字符,包括最后的换行符(’\n’),读完结束后系统将自动在最后加’\0’(gets读完结束后系统自动会将’\n’置换成’\0’)。

当你从键盘上输入 <=N-1 个字符(包括’\n’)时,那么字符串str会以 ‘\n\0’ 结尾。这就造成了strlen(str)比你想象的大 1
当你从键盘上输入>N-1个字符(包括’\n’)时,那么字符串str会以’\0’结尾。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

算出生日在星期几

输入格式
输入三个正整数,分别表示年、月、日。保证输入
年份合法。
输出格式
输出星期几。
用Monday、Tuesday、Wednesday、Thursday、Friday、Saturday、Monday表示星期几
样例输入1

1 1 1

样例输出1

Monday

样例输入2

2016 11 29

样例输出2

Tuesday
#include<iostream>
#include<string>
using namespace std;
int whatday(int y,int m,int d){//返回正确的日期,用0~6表示 星期 1 - 7int ans = 0;for(int i=1;i<y;i++){if((i % 100 !=0&&i%4==0)||i%400==0){ans+=366%7;ans%=7;}else{ans+=365%7;ans%=7;}} for(int i=1;i<m;i++){if(i==1||i==3||i==5||i==7||i==8||i==10||i==12){ans+=31%7;ans%=7;}else if(i==4||i==6||i==9||i==11){ans+=30%7;ans%=7;}else if((y%100!=0&&y%4==0)||y%400==0){ans+=29%7;ans%=7;}else{ans+=28%7;ans%=7;}}ans+=(d-1)%7;ans%=7;return ans;
}
string weekday[7]={"Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"};
int main(){int y,m,d;cin>>y>>m>>d;cout<<weekday[whatday(y,m,d)]<<endl;return 0;
}

在这里插入图片描述
也可以直接用公式

#include<iostream>
#include<string>
using namespace std;
int whatday(int y,int m,int d){
if(m<=2){m+=12;y--;}//返回正确的日期,用0~6表示 星期 1 - 7return(d+2*m+3*(m+1)/5+y+y/4-y/100+y/400)%7;
}
string weekday[7]={"Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"};
int main(){int y,m,d;cin>>y>>m>>d;cout<<weekday[whatday(y,m,d)]<<endl;return 0;
}

在这里插入图片描述
在这里插入图片描述

恋爱纪念日

一对情侣想知道他们第100天、200天 . . .纪念日
输入格式
输入4个整数y,m,d,,k,表示他们在一起的日期,保证是一个1900年1月1日以后的日期,求他们的k(0<=k<=10000)天纪念日。
输出格式
输出格式按照yyy-m-dd的格式输出k天纪念日的日期。月份和天数必须各输出2位。保证最后答案年份不超过4位。
样例输入1

2016 10 1 100

样例输出1

2017-01-09

样例输入2

2017 1 1 10

样例输出2

2017-01-11
#include<stdio.h>
int main(){int y,m,d,k;int day[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};scanf("%d %d %d %d",&y,&m,&d,&k);for(int i=1;i<=k;i++){if((y%4==0)&&y%100!=0||y%400==0){day[2]=29;}else{day[2]=28;}d++;if(d==day[m]+1){d=1;m++;}if(m==13){m=1;y++;	}}printf("%04d-%02d-%02d",y,m,d);return 0;
}

在这里插入图片描述

节假日

日历有阳历(公历)和明历(农历)之分。每
都有法定节假日,这些分成三类——双休、阳历假日、阴历节假日。
1.双休
1)周六和周日2天
2.阳历节假日
1)元且:阳历每年1月1日,放假1天
2)劳动节:阳历每年5月1日,放假1天
3)国庆节:阳历每年10月1日,放假3天
4)圣诞节:阳历每年12月25日,放假1天
3.阴历节假日
1)春节:阴历每年1月1日,放假3天
2)清明节:阳历每年4月4-6日之间的某天,放假1天
3)端午节:阴历每年5月5日,放假1天
4)中秋节:阴历每年8月15日,放假1天
当节假日和双体重合时,双休不延后也不提前,保证节假日之间不会重合。现在给你属年的所有明历节假日的阳历日期,以及当年的1月1日是星期几,请你计算出这一年(阳历1月日到12月31日)放了多少天假(包括双休、阳历节假日和明历节假日)。
输入格式
第一行输入年份(1900<y≤2050)。
接下来4行,每行输入两个整数m、d.依次表示春节、清明节、端午节和中秋节的阳历日期。最后一行一个整数表示当年1月1号是星期几(一周内的第几天,每周从星期一开始计数,即星期一为第一天)。
输出格式
输出一个整数,表示当年放假的天数。
样例输入1

2017
1 28
4 4
5 30
10 4
7

样例输出

113
#include<stdio.h>int mm[10]={1,5,10,10,10,12};int dd[10]={1,1,1,2,3,25};int day[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};void nextday(int &y,int &m,int &d){d++;if(d==day[m]+1){d=1;m++;}}int main(){int y,w,m,d,sf,ans;scanf("%d",&y);for(int i=6;i<=9;i++){scanf("%d%d",&mm[i],&dd[i]);}scanf("%d",&w);if((y%100!=0&&y%4==0)||y%400==0){day[2]++;}m=1;d=1;sf=0;ans=0;while(m<13){if(m==mm[6]&&d==dd[6]){ans++;sf=2;}else if(sf){ans++;sf--;}else if(w==6||w==7){ans++;}else{for(int i=0;i<10;i++){if(m==mm[i]&&d==dd[i]){ans++;break;}}}nextday(y,m,d);w++;if(w==8){w=1;}}printf("%d\n",ans);return 0;}

在这里插入图片描述
在这里插入图片描述

相关文章:

蓝桥杯 字符串和日期

有一个类型的题目是找到输出图形的规律&#xff0c;然后将其实现。观察下面的图形。你想想你该怎么输出这个图形呢? ABBB#include<stdio.h> int main(){printf(" A\n");printf("BBB\n");return 0; }那么&#xff0c;对于如下的图形&#xff1a; ABB…...

Vue13 监视属性

监视属性 当被监视的属性发生变化时&#xff0c;执行定义的函数 监视属性watch&#xff1a; 1.当被监视的属性变化时, 回调函数自动调用, 进行相关操作 2.监视的属性必须存在&#xff0c;才能进行监视&#xff01;&#xff01; 3.监视的两种写法&#xff1a; (1).new Vue时传入…...

会员商城小程序的作用是什么

随着消费升级、用户消费习惯改变及互联网电商高速发展冲击下&#xff0c;传统线下经营商家面临不少痛点&#xff0c;产品销售难、经营营销难、客户管理难等&#xff0c;线下流量匮乏、受地域限制且各方面管理繁琐&#xff0c;线上成为众商家增长赋能的方式。 对商家来说&#x…...

排序算法——希尔排序

一、介绍: 希尔排序是一种可以减少插入排序中数据比较次数的排序算法&#xff0c;加速算法的进行&#xff0c;排序的原则是将数据区分为特定步长的小区块&#xff0c;然后以插入排序算法对小区块内部进行排序&#xff0c;经历过一轮排序则减少步长&#xff0c;直到所有数据都排…...

SpringBoot项目整合MybatisPlus持久层框架+Druid数据库连接池

前言 之前搭建SpringBoot项目工程&#xff0c;所使用的持久层框架不是Mybatis就是JPA&#xff0c;还没试过整合MybatisPlus框架并使用&#xff0c;原来也如此简单。在此简单记录一下在SpringBoot项目中&#xff0c;整合MybatisPlus持久层框架、Druid数据库连接池的过程。 一、…...

导致 JVM 内存泄露的 ThreadLocal 详解

为什么要有 ThreadLocal 当我们在学习JDBC时获取数据库连接时&#xff0c;每次CRUD的时候都需要再一次的获取连接对象&#xff0c;并把我们的sql交给连接对象实现操作。 在实际的工作中&#xff0c;我们不会每次执行 SQL 语句时临时去建立连接&#xff0c;而是会借助数据库连接…...

使用预约小程序app有什么方便之处

一、用户人群广&#xff1a;无论是老年人、残疾人还是上班族&#xff0c;只要有需要&#xff0c;都可以通过该小程序轻松预约服务。例如&#xff0c;行动不便的老年人或残疾人&#xff0c;可以通过小程序约家政服务、医疗护理等服务&#xff0c;省去了亲自前往服务场所的麻烦。…...

【转】ubuntu 安装 OpenCv 4.6脚本 installOCV.sh

摘自 https://github.com/opencv/opencv/issues/22132 好东西&#xff0c;收一下。 installOCV.sh#! /bin/bash VER4.6.0 PYTHON_VERSION3.8 CORES2 echo "Script for installing the OpenCV $VER on Ubuntu 18.04 LTS" echo "Updating the OS..." sudo …...

Android 视图动画与属性动画的区别

Android的视图动画和属性动画在功能和使用上有一些明显的区别。 视图动画主要作用于视图&#xff0c;实现如缩放、旋转等效果。这种动画效果相对固定&#xff0c;只能应用于视图对象&#xff0c;且只能改变视图的大小和位置&#xff0c;而不能真正改变视图的属性。视图动画在A…...

Springboot——jxls实现同sheet多个列表展示

文章目录 前言制定模板1、限定模板数据的范围2、设定报表展示项 编写测试类1、将xls模板文件放于 resource 下的 doc文件夹中2、导入依赖文件3、编写接口和导出逻辑 效果预览结论 前言 在之前的博客中Springboot——使用jxls实现excel模板导出excel&#xff0c;具体说明了jxls…...

分布式软件架构——服务端缓存的三种属性

服务端缓存 在透明多级分流系统中&#xff0c;我们以流量从客户端中发出开始&#xff0c;以流量到达服务器集群中真正处理业务的节点结束。一起探索了在这个过程中与业务无关的一些通用组件&#xff0c;包括DNS、CDN、客户端缓存&#xff0c;等等。 实际上&#xff0c;服务端缓…...

Flink之Watermark策略代码模板

方式作用WatermarkStrategy.noWatermarks()不生成watermarkWatermarkStrategy.forMonotonousTimestamps()紧跟最大事件时间watermark生成策略WatermarkStrategy.forBoundedOutOfOrderness()允许乱序watermark生成策略WatermarkStrategy.forGenerator()自定义watermark生成策略 …...

ubuntu 安装postgresql,增加VECTOR向量数据库插件 踏坑详细流程

PGSQL安装&#xff0c;删除&#xff0c;运行&#xff0c;修改密码流程 Ubuntu18.04安装与配置postgresql含远程连接教程&#xff08;含踩坑记录&#xff09;_sudo apt-get install postgresql-CSDN博客 详细安装流程以上博客&#xff0c;自己也记录下 安装vector扩展连接 声明…...

基于Springboot实现影视影院订票选座管理系统【项目源码+论文说明】分享

基于Springboot实现影视影院订票选座管理系统演示 摘要 本论文主要论述了如何使用JAVA语言开发一个影城管理系统 &#xff0c;本系统将严格按照软件开发流程进行各个阶段的工作&#xff0c;采用B/S架构&#xff0c;面向对象编程思想进行项目开发。在引言中&#xff0c;作者将论…...

mysql批量插入数据,跳过唯一索引报错

数据准备 DROP TABLE IF EXISTS user1; CREATE TABLE user1 ( id INT NOT NULL AUTO_INCREMENT, name VARCHAR(45) NULL, age INT(3) NOT NULL, PRIMARY KEY (id), UNIQUE INDEX u_name (name));insert into user1(name, age) values (zhangshan, 18), (lisi, 19);1. INSERT I…...

论文阅读--Energy efficiency in heterogeneous wireless access networks

异构无线接入网络的能源效率 论文信息&#xff1a;Navaratnarajah S, Saeed A, Dianati M, et al. Energy efficiency in heterogeneous wireless access networks[J]. IEEE wireless communications, 2013, 20(5): 37-43. I. ABSTRACT && INTRODUCTION 本文提出了无…...

Redis的C客户端(hiredis库)使用

文章目录 1、Ubuntu安装redis服务端2、hiredis库的安装3、同步API接口的使用3.1、连接redis数据库redisConnect3.2、发送需要执行的命令redisCommand3.3、redisCommandArgv函数3.4、redisAppendCommand*函数支持管道命令3.5、释放资源3.6、同步连接代码 3.7、异步连接4、redis连…...

光引擎、光模块、光器件之间的关系和区别

最近小编有收到一些用户问“光引擎、光模块、光器件之间的关系和区别&#xff1f;”&#xff0c;众所周知光通信技术一直在不断演进&#xff0c;为满足不断增长的数据传输需求提供了强大的解决方案。而光通信系统中&#xff0c;光引擎、光模块和光器件是关键的组成部分&#xf…...

【办公-excel】两个时间相减 (二) - 带毫秒的时间进行相减操作

一、使用内部函数 1.1 效果展示 TEXT(((RIGHT(TEXT(B2,"yyyy-mm-dd hh:mm:ss.000"),LEN(TEXT(B2,"yyyy-mm-dd hh:mm:ss.000"))-FIND(".",TEXT(B2,"yyyy-mm-dd hh:mm:ss.000")))-RIGHT(TEXT(A2,"yyyy-mm-dd hh:mm:ss.000"),…...

二次封装View Design的table组件,实现宽度自适应,内容在一行展示

由于table组件本身并不支持宽度自适应&#xff0c;但实际项目需要&#xff0c;而且多处有用到table组件&#xff0c;所以尝试着自己来二次封装一下组件 想法 刚开始的想法很简单&#xff0c;就是获取每一列中数据和标题在表格中的长度&#xff0c;然后将当中最大的长度作为该列…...

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…...

【OSG学习笔记】Day 18: 碰撞检测与物理交互

物理引擎&#xff08;Physics Engine&#xff09; 物理引擎 是一种通过计算机模拟物理规律&#xff08;如力学、碰撞、重力、流体动力学等&#xff09;的软件工具或库。 它的核心目标是在虚拟环境中逼真地模拟物体的运动和交互&#xff0c;广泛应用于 游戏开发、动画制作、虚…...

(二)原型模式

原型的功能是将一个已经存在的对象作为源目标,其余对象都是通过这个源目标创建。发挥复制的作用就是原型模式的核心思想。 一、源型模式的定义 原型模式是指第二次创建对象可以通过复制已经存在的原型对象来实现,忽略对象创建过程中的其它细节。 📌 核心特点: 避免重复初…...

【python异步多线程】异步多线程爬虫代码示例

claude生成的python多线程、异步代码示例&#xff0c;模拟20个网页的爬取&#xff0c;每个网页假设要0.5-2秒完成。 代码 Python多线程爬虫教程 核心概念 多线程&#xff1a;允许程序同时执行多个任务&#xff0c;提高IO密集型任务&#xff08;如网络请求&#xff09;的效率…...

管理学院权限管理系统开发总结

文章目录 &#x1f393; 管理学院权限管理系统开发总结 - 现代化Web应用实践之路&#x1f4dd; 项目概述&#x1f3d7;️ 技术架构设计后端技术栈前端技术栈 &#x1f4a1; 核心功能特性1. 用户管理模块2. 权限管理系统3. 统计报表功能4. 用户体验优化 &#x1f5c4;️ 数据库设…...

纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join

纯 Java 项目&#xff08;非 SpringBoot&#xff09;集成 Mybatis-Plus 和 Mybatis-Plus-Join 1、依赖1.1、依赖版本1.2、pom.xml 2、代码2.1、SqlSession 构造器2.2、MybatisPlus代码生成器2.3、获取 config.yml 配置2.3.1、config.yml2.3.2、项目配置类 2.4、ftl 模板2.4.1、…...

【C++进阶篇】智能指针

C内存管理终极指南&#xff1a;智能指针从入门到源码剖析 一. 智能指针1.1 auto_ptr1.2 unique_ptr1.3 shared_ptr1.4 make_shared 二. 原理三. shared_ptr循环引用问题三. 线程安全问题四. 内存泄漏4.1 什么是内存泄漏4.2 危害4.3 避免内存泄漏 五. 最后 一. 智能指针 智能指…...

(一)单例模式

一、前言 单例模式属于六大创建型模式,即在软件设计过程中,主要关注创建对象的结果,并不关心创建对象的过程及细节。创建型设计模式将类对象的实例化过程进行抽象化接口设计,从而隐藏了类对象的实例是如何被创建的,封装了软件系统使用的具体对象类型。 六大创建型模式包括…...

MinIO Docker 部署:仅开放一个端口

MinIO Docker 部署:仅开放一个端口 在实际的服务器部署中,出于安全和管理的考虑,我们可能只能开放一个端口。MinIO 是一个高性能的对象存储服务,支持 Docker 部署,但默认情况下它需要两个端口:一个是 API 端口(用于存储和访问数据),另一个是控制台端口(用于管理界面…...

windows系统MySQL安装文档

概览&#xff1a;本文讨论了MySQL的安装、使用过程中涉及的解压、配置、初始化、注册服务、启动、修改密码、登录、退出以及卸载等相关内容&#xff0c;为学习者提供全面的操作指导。关键要点包括&#xff1a; 解压 &#xff1a;下载完成后解压压缩包&#xff0c;得到MySQL 8.…...