azurehan01
码龄2年
关注
提问 私信
  • 博客:20,276
    20,276
    总访问量
  • 35
    原创
  • 112,122
    排名
  • 345
    粉丝
  • 0
    铁粉
  • 学习成就
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:江苏省
  • 加入CSDN时间: 2023-03-21
博客简介:

azurehan01的博客

查看详细资料
  • 原力等级
    成就
    当前等级
    3
    当前总分
    368
    当月
    1
个人成就
  • 获得450次点赞
  • 内容获得15次评论
  • 获得252次收藏
创作历程
  • 35篇
    2024年
成就勋章
创作活动更多

HarmonyOS开发者社区有奖征文来啦!

用文字记录下您与HarmonyOS的故事。参与活动,还有机会赢奖,快来加入我们吧!

0人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

[LEECODE每日一题]找出最具竞争力的子序列

因为子数组是顺序的缘故,所以我们可以拿后面每个比前面小的数字进行逐一比较,如果比前面的一个位置的小,我们就让前面位置的数字进行出栈,再对出栈前一个比较,直到满足比前面的一个栈的元素大为止,如果比前面的数字大我们就直接入栈。题目给的很清楚,既输入一个序列要求给定一个子序列长度,让其输出为一个最有"竞争力"的序列,说白了就是在所有子序列比较中,处于靠前位置的元素要尽可能的小,而且这个子序列是按照顺序进行排列的。当然我们如果不停的入栈出栈,我们怎么保证里面的元素是我们想要的子序列长度的大小呢?
原创
发布博客 2024.05.24 ·
423 阅读 ·
8 点赞 ·
0 评论 ·
2 收藏

基于模糊神经网络的嘉陵江水质预测

数据集采用的是水质检测的六个指标。
原创
发布博客 2024.05.13 ·
275 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

基于模糊神经网络的嘉陵江水质预测

发布资源 2024.05.13 ·
rar

[论文解读]Joint symbol-level precoding and reflecting designs for IRS-enhanced MU-MISO system

文章主要思路采用了符号级预编码以及智能反射面来减少发射能量其中优化方法分为了两个子问题,采用的是交替方向进行优化对预编码信号优化,由于问题是凸问题所以采用的是CVX工具包,以及作者给予的一个共轭梯度算法对RIS反射角的优化问题,通过化简后采用黎曼共轭梯度法进行优化,后续有介绍到如何选取初始RIS角度以及QoS平衡问题这次阅读是第一次精度文章,所以关注点主要在如何进行建模以及对于问题(6)的分解以及部分FIG.4代码出现的阅读,对于黎曼几何算法,笔者不在研究范围内,既没有细看。
原创
发布博客 2024.04.19 ·
1184 阅读 ·
25 点赞 ·
1 评论 ·
23 收藏

[数据结构]栈和队列结构的简单制作

队列:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出 FIFO(First In First Out) 入队列:进行插入操作的一端称为队尾 出队列:进行删除操作的一端称为队头。栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端 称为栈顶,另一端称为栈底。栈可以用顺序表或者链表进行实现,但是相对而言顺序表的优势较为大,以下是栈的实现方法,因比较简单所以读者可以自行阅读代码。压栈:栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶。
原创
发布博客 2024.04.10 ·
350 阅读 ·
6 点赞 ·
0 评论 ·
5 收藏

[数据结构]双向带头循环链表制作

实际中使用的链表数据结构,都 是带头双向循环链表。第一、防止头节点为空,既有头结点,头指针始终指向头结点,那么无论链表是否为空,头指针均不为空;需要注意的是,里面仍有一些判断可以完善,如有需要可以自行完善,这部分代码仅仅是一个简单的带头双向循环链表的制作。第二、有头结点时,插入/删除第一个结点时,空链表/非空链表操作逻辑一致,不需要额外判断。第三、插入或者删除头结点的时候不需要改变头节点,只需要改变头结点的下一个即可。这里我们介绍一个双向带头循环链表的制作方法。前面我们有提到,单向不带头循环链表的制作。
原创
发布博客 2024.04.09 ·
361 阅读 ·
9 点赞 ·
0 评论 ·
1 收藏

[数据结构]不带头单向非循环链表

我们有学过,顺序表如何制作,还有一个与其非常相似的结构就是链表的制作,不过链表在数据中的存储不像顺序表一样是按照内存的顺序进行存储的,其在内存中是一块一块的进行存储,具体如何我们可以看看下面这张图。我们知道如果我们要增加数据,我们无法像静态顺序表一样一开始就定下来最大数据量为多少,因此我们这边采用动态内存的方式进行开辟内存。此链表有一个头指针pList,我们要创造的链表为不带头指针的链表,既我们创造一个结构体,其中一部分为数据部分,另外一部分为下一个数据的地址。SeqList.c文件。
原创
发布博客 2024.04.08 ·
216 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

[数据结构]动态顺序表制作源码分享

静态顺序表只适用于确定知道需要存多少数据的场景。静态顺序表的定长数组导致N定大了,空 间开多了浪费,开少了不够用。所以现实中基本都是使用动态顺序表,根据需要动态的分配空间 大小,所以下面我们实现动态顺序表。顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存 储。在数组上完成数据的增删查改。2. 动态顺序表:使用动态开辟的数组存储。1. 静态顺序表:使用定长数组存储元素。具体接口代码以及菜单代码如下。
原创
发布博客 2024.04.02 ·
154 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

[数据结构]时间复杂度、空间复杂度的计算

如何衡量一个算法的好坏呢,对于实现同一个功能,我们可能有不同的代码,在编写成可执行程序后,运行时需要耗费时间资源和空间(内存)资源。因此衡量一个算法的好坏,一般 是从时间和空间两个维度来衡量的,即时间复杂度和空间复杂度。时间复杂度主要衡量一个算法的运行快慢,而空间复杂度主要衡量一个算法运行所需要的额外空间。在计算 机发展的早期,计算机的存储容量很小。所以对空间复杂度很是在乎。但是经过计算机行业的迅速发展,计 算机的存储容量已经达到了很高的程度。所以我们如今已经不需要再特别关注一个算法的空间复杂度。
原创
发布博客 2024.04.01 ·
1014 阅读 ·
11 点赞 ·
0 评论 ·
11 收藏

[C语言]文件操作大全fopen,fclose,fgetc,fputc,fgets,fputs,fscanf,fprintf,fread,fwrite,fseek,ftell,rewind.

我们如果要在VS对其进行操作,这个时候就得用到fopen函数,fopen即为打开一个文件,这个函数返回的类型为FILE类型的一个指针,所谓FILE类型也就是文件类型,意思就是有个指针指向你打开的文件,类型为FILE类型。文件变成了乱码,因为我们输入的数据在文件中是以二进制的形式进行输入的,正常来说我们输入的数据是以ASCII码值对应的文本显示,但是这里我们直接输入二进制数据,显示的就这一系列二进制对应的ASCII码值,得到一个很奇怪的文案。不同的C编译器的FILE类型包含的内容不完全相同,但是大同小异。
原创
发布博客 2024.03.27 ·
787 阅读 ·
14 点赞 ·
0 评论 ·
28 收藏

[C语言]柔性数组

我们先看一下怎么制造一个柔性数组呢?int i;int a[0];//柔性数组成员}type_a;我们可以看到,在结构体里面有一个整形变量有一个柔性数组变量,其中,柔性数组的大小是没有被定义的,这代表了我们可以分配动态内存给这个数组。
原创
发布博客 2024.03.26 ·
539 阅读 ·
14 点赞 ·
0 评论 ·
9 收藏

[C语言]利用动态内存制作一个通讯录

我们先输入一个判断,如果联系人个数sz等于我们的容量了,那我们将realloc我们的空间,返回值我们用结构体指针Pepoinfo修改指针变量为结构体变量,增加大小为我们要设置的add_size的大小,这里我们设置的2就是每次都多增加2个人,我们用ret接收这个指针,接受这个指针是怕传回来的为空,不可以直接用我们之前data指向的地点来接受,不然我们找不到我们原数据的内容。有时会我们发现过去申请的空间太小了,有时候我们又会觉得申请的空间过大了,那为了合理的时 候内存,我们一定会对内存的大小做灵活的调整。
原创
发布博客 2024.03.25 ·
865 阅读 ·
18 点赞 ·
0 评论 ·
18 收藏

[C语言]结构体、位段、枚举常量、联合体

其实我们仔细分析一下,a作为占2比特的变量,结构体分给其第一个字节后两位,接着剩下的还是在第一个定义的int的四个字节内,所以依次剩下的6个比特以及12个比特分给了b,如所示区域,但是当分配给c的时候,c占用32个比特,第一个int所占的四个字节无法接纳那么大的内存,所以开辟了一段新的空间给它,但是上一个没用完的空间是不分配给c的,所以我们最终看到系统分配内存方式如下。当最大成员大小不是最大对齐数的整数倍的时候,就要对齐到最大对齐数的整数倍。2. 其他成员变量要对齐到某个数字(对齐数)的整数倍的地址处。
原创
发布博客 2024.03.24 ·
1872 阅读 ·
67 点赞 ·
0 评论 ·
25 收藏

[C语言]memcpy memmove的模拟实现 memcmp memset解析

我们知道在学字符串的时候有strcpy strcmp 等等的库函数,但这些都只能进行字符串的操作,如果我们要对一个整数的数组进行比较和复制呢?我们可以采用什么方法呢?以下就是对这些函数的解析以及对memcpy和memmove的模拟实现。
原创
发布博客 2024.03.23 ·
435 阅读 ·
3 点赞 ·
0 评论 ·
5 收藏

[C语言]手动实现strcat strcmp strcpy strstr strtok(静态全局指针初始化方式)代码

strcat strcmp strcpy strstr strtok这些代码均存储在c语言的头文件中,如果要使用的话直接调用即可,但是为了增加我们对代码的理解,我们看一下如何手动实现这些代码吧!
原创
发布博客 2024.03.22 ·
499 阅读 ·
13 点赞 ·
0 评论 ·
6 收藏

[C语言]指针笔试题

这里第一个输出结果为0x100014因为程序认为其为一个结构体,结构体加1就是跳过这个结构体因此大小加20而16进制的20为14第二个输出结果为0x100001,将其转化成整型变量加一得到的结果即为加1后的结果第三个输出结果为0x100004,将其转化成整型指针加一,既编译器认为其指向一个整型变量,加一后就是加四个字节。
原创
发布博客 2024.03.21 ·
532 阅读 ·
8 点赞 ·
0 评论 ·
6 收藏

[C语言]一维数组二维数组的大小

对于一维数组我们知道取地址是取首元素的地址,二维数组呢,取地址是取第一行的地址,sizeof(数组名)这里计算的就是整个数组的大小,&数组名 表示整个数组,取出的是整个数组的地址,显示的是数组的首元素记住这些前提后,我们看一下下面的题目会多少呢?
原创
发布博客 2024.03.20 ·
796 阅读 ·
10 点赞 ·
1 评论 ·
14 收藏

[C语言]指针详解一、数组指针、二维数组传参、函数指针

对一个数组,如果我们想要让一个指针指向这个数组,我们应该如何定义呢?我们知道一个数组定义本来就是一个指针,那为何要多定义一个数组指针呢?我们来看看下面这个代码就理解了第一个是我们正常定义的数组int arr[]第二个就是我们定义这个数组的指针要注意与int*parr[5]的区别,我们上面打字的方式代表的是(*parr)指向了一个数组大小为[5]的指针,而int*parr[5]代表了有个parr[5]的数组里面装的都是指向整形的指针我们来看一下将他们的地址分别加一得到的结果。
原创
发布博客 2024.03.19 ·
992 阅读 ·
18 点赞 ·
1 评论 ·
19 收藏

[C语言]qsort函数模拟实现

int(*com)(const void *,const void * )是传递的一个com函数来进行比较,里面两个参数分别是要比较的地址 如果第一个参数比第二个参数大返回的就是大于0的数,第二个比第一个大返回的是小于0的数,相等返回的就是等于0的数,其中的com函数需要自己来定义。qsort函数是C语言中进行排序的一种函数,其特别之处是在于,可以将任意类型的数据进行排序,让我们来看一下这个函数里面传递的参数,函数的使用如下。width是数组单个元素所占的内存大小。size 是传递的数组的大小。
原创
发布博客 2024.03.18 ·
150 阅读 ·
3 点赞 ·
0 评论 ·
0 收藏

[C语言]水仙花数打印、菱形打印、智力题

1、一元钱可以换一瓶水,两个空瓶可以换一瓶水,问如果有20元多少瓶水。A说A不是 B说凶手是C C说凶手是D D说C在说谎。
原创
发布博客 2024.03.17 ·
298 阅读 ·
7 点赞 ·
1 评论 ·
0 收藏
加载更多