- 博客(25)
- 收藏
- 关注
原创 [C++]继承
继承与组合之间的关系:继承是一个“is”组合时一个“has”继承在逻辑上表示它是什么,组合在逻辑上表示它有什么。继承是一个”白箱操作“,组合是一个“黑箱操作”,继承可以清晰的看到内部有啥,而组合因为其类的封装,我们只需使用即可继承的耦合度高,组合的耦合度低。在一般情况下应该多多使用组合而非继承。
2025-02-07 15:04:16
684
原创 [Linux] 进程管理与调度机制
我们现代的大部分计算机任然遵守着冯诺依曼体系结构(如上图)。我们去使用软件的时候,数据从输入设备流入我们的存储器(内存),再通过我们的中央处理器进行运算,最终数据从输出设备流出。这是一个典型计算机的工作过程。而了解这些才能更好的理解我们的进程相关概念。
2025-01-23 15:47:03
2237
2
原创 无条件语句,乘除,循环如何计算1+2+3+...+n
求1+2+3+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。通过两个神奇的方法领悟代码之美@(。・o・)@
2025-01-13 15:07:38
333
原创 [Linux]文件属性和权限
在学习linux的时候,难免会发现文件名前面会有一大堆其它的字符,那么这些字符的具体含义是什么呢?又该如何去操作他呢
2024-12-06 15:55:03
1187
原创 数据结构(初阶7)---七大排序法(堆排序,快速排序,归并排序,希尔排序,冒泡排序,选择排序,插入排序)(详解)
七个愿望一次满足————堆排序,快速排序,归并排序,希尔排序,冒泡排序,选择排序,插入排序(*´∀`)~♥
2024-11-27 23:26:16
2672
6
原创 数据结构(初阶6)---二叉树(遍历——递归的艺术)(详解)
我们初识了我们的二叉树那么接下来我们就要深入去理解二叉树的部分知识了,显然这只是在二叉树家族中迈出的一小步qwq,入门。
2024-11-23 14:33:05
771
1
原创 (Leetcode)只出现一次的数字I->II->III(位运算深入浅出1)
3个愿望一次满足,(๑•́ ₃ •̀๑)エー,只出现一次的数字I 到II 再到III。一篇文章直接解决!!!
2024-11-07 20:21:59
1081
2
原创 C语言自定义类型(2)--位段
(1.不可移植性,很多编译器对于位段的处理是不一样的,正好决定了他的不可移植。(5.代码的复杂性提高,可读性降低。(1.嵌入式系统中的寄存器访问。(3.无法运用数组或指针操作。(3.网络协议和文件格式解析。接下来,我们来讨论一下位段。(4.权限和状态标志管理。位段的声明与结构体类似。(2.访问的速度降低。
2024-10-19 10:48:23
225
原创 C语言自定义类型(1)--结构体
(不同的编译环境有不同的默认对齐数,vs的默认对齐数就是8,linux没有默认对齐数.....)各位认为sizeof(struct Swu)的大小是什么-------是9?我们已经初步掌握了结构体的相关知识了,接下来就是结构体的一个难点----结构体内存对齐。(4)如果有嵌套结构体的情况,那么该嵌套结构体的对齐数为其内部的最大对齐数。认为结构体的内存对齐就是将结构体中占用内存最大的成员变量*成员个数。(2)对齐数:=min{默认对齐数,成员变量的大小}取最小值。接下来,我们来介绍一下结构体的内存对齐。
2024-10-19 10:32:20
416
原创 c语言<string.h>库函数的模拟实现
strstr,strtok,strncmp,strcat,strncat,strcpy,strncpy的模拟实现
2024-10-15 09:02:17
567
原创 C语言函数递归经典练习解析(图文)(全排列问题,青蛙上台阶问题)
并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。已知一只青蛙可以选择一次上一阶或两阶台阶,求上n个台阶的方法共有多少种。执行一次程序之后a变为第二个数,b变为第三个数,c变为第四个数。1).若最后一步为两个台阶,则需计算前面f(n-2)的情况。2).若最后一步为一个台阶,则需计算前面f(n-1)的情况。会进行大量且重复的计算,所以这种方式的效率较低。我们可以从逆着写,改为正着写以减少重复的计算。通过上图我们就可以清晰直观的看到如何去递归。青蛙的最后一步是走两个台阶还是一个台阶。
2024-09-15 15:54:19
740
1
原创 c语言解决汉诺塔问题(常规与递推方式)(图文)
在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。作者也是刚刚接触c语言的小白,如果有什么不对的地方或者可以优化的地方希望大家多多包涵。f(n)是一个首相为1 公比为2的等比数列。step1:该问题可以看作由上面n层转到。即f(n)=2^(n-1)-1。4. 2的n次方代码的实现。所以f(n)=2f(n-1)图2:此时2号变为了一号。用数学的方式再优化一下。上的最后一层移到C上。
2024-09-13 10:09:39
538
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人