- 博客(12)
- 收藏
- 关注
原创 简明理解动态规划5步解题流程
一般来说使用动态规划手段解决问题在我们遇到重复子问题计算并且有着最优路径选择等问题时,我们常常要考虑多个方面并比较或重复计算,例如计算斐波那契数列时if n
2024-07-17 17:02:45
221
原创 c++命名空间的使用
命名空间中声明的实体被称为命名空间的成员,成员的名字会自动由命名空间的名字限定,例如universe命名空间的两个成员名字分别为universe::a,universe::rand。不同用户可以声明各自的命名空间。
2024-04-16 14:28:40
859
原创 数据结构——栈队列基础操作的代码实现
队列(queue)是只允许在一端进行插入操作,而在另一端进行删除操作的线性表。队列是一种先进先出(First In First Out)的线性表,简称FIFO。允许插入的一端称为队尾,允许删除的一端称为队头。空队列:不包含任何元素的空表。队列的常见基本操作//初始化//队列的销毁// 入队列// 出队列最先进入队列的值最后进入对列的值判空取大小2.2 .代码实现。
2024-03-03 03:15:29
533
原创 简要理解c语言程序编译和链接
通常在我们写好c程序后,使用编译器直接编译运行即可,但是就像如此简单的一句程序gcc test.c同样有其深入复杂的原理,深入理解他们有助于我们更好的理解程序编译执行的过程。通常,这过程细分共有四步,预编译(又叫预处理),编译,汇编,链接。即正常本来是编译和执行,但编译部分又被分为了预编译,编译,汇编三部分。同时编译进行的环境我们叫做翻译环境,执行文件在电脑上的环境称作执环境,现在让我们细节的简要直白展示一下编译的过程。(想要了解更多相关知识可以参考《程序员的自我修养一书》)我们写c语言程序的时候,不知道大
2024-01-15 23:08:42
1554
原创 C语言深入理解指针--从零基础到深入理解
对比以下两端代码,主要在调试时观察内存的变化可以发现左侧代码是将每个地址对应空间内的值都改为了0,而右侧代码只是将首地址中的值改为了0,那么结论:指针的类型决定了,对指针接引用的时候有多大的权限(一次能操作几个字节)比如:char*的指针解引用只能访问一个字节,而int*的指针解引用能访问4个字节。
2023-11-29 19:04:24
1469
1
原创 求一个数二进制数中1的个数的三种方法
例如我们求十进制的数n的每一位的时候通常会模10然后再除以10循环得到每一位直到n为0时循环停止,代码如下:然此法也有缺陷,即当n为负数时,例如-1,第一次进入if判断不成功再除以2后直接n变成0退出循环,故而我们需要对此进行改进,因为负数在内存中是以补码的形式存储,而-1的补码为: 11111111111111111111111111111111共三十二位1,我们只需另函数接收时以无符号整型接收;如图:我们知道二进制的最后一位如果是0那么与1按
2023-11-05 19:40:41
95
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人