![](https://img-blog.csdnimg.cn/20190918140053667.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
C/C++专栏
文章平均质量分 83
总结C/C++基础语法
珠江上上上
选择自律,选择爱,追求成熟,同时就意味着和痛苦为伴,因为这是一条少有人走的路!
展开
-
【QandA C++】sort底层、vector、list、push_back/emplace_back、resize、reserve、迭代器失效、unordered_XXX对比map/set、红黑树
因为插入排序在面对“几近排序”的序列时,表现更好,而快排是通过递归实现的,会为了极小的子序列产生很多的递归调用在区间长度小的时候经常不如插入排序效率高)如果插入节点的父节点也是红色的,需要进行颜色调整和旋转操作,以满足红黑树的性质。,可以选择继承节点(通常是左子树中的最大节点或右子树中的最小节点)来替代要删除的节点,然后删除继承节点。左旋:将一个节点的右子节点提升为该节点的父节点,同时该节点成为左子节点。右旋:将一个节点的左子节点提升为该节点的父节点,同时该节点成为右子节点。原创 2023-09-24 10:31:16 · 202 阅读 · 0 评论 -
【容器】stack、queue、priority_queue、deque、set、map、unordered_map、unordered_set、multiXXX、unordered_multiXXX
栈是一种具有后进先出特性的数据结构。push():将元素入栈,即将添加到栈顶。pop():移除栈顶的元素,并返回该元素的值。注意,这个操作会改变栈的大小。top():获取栈顶元素的值,但不移除该元素。即查看栈顶元素的值而不弹出它。empty():检查栈是否为空,如果栈为空则返回true,否则返回false。size():获取栈中元素的数量。原创 2023-09-24 10:28:09 · 101 阅读 · 0 评论 -
【排序算法】冒泡排序、插入排序、归并排序、希尔排序、选择排序、堆排序、快速排序
排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。无论输入数据规模的大小,额外空间的使用量都保持不变,因此空间复杂度是常数级别的 O(1)。需要注意的是,在实际实现中,如果原地排序,可以避免创建临时数组,将临时结果存储在原始数组中,这样可以将空间复杂度优化为O(1)。在最坏情况下,即每次选择的基准元素都是当前子数组中的最大或最小值时,快速排序的递归树将达到最大深度,此时空间复杂度为 O(n)。原创 2023-09-24 09:19:30 · 251 阅读 · 0 评论 -
【QandA C++】C++11新特性、Lambda表达式、左值引用、右值引用、完美转发、智能指针、move、强制类型转换等重点知识汇总
传统的C++语法中就有引用的语法,而C++11中新增了右值引用的语法特性,为了进行区分,于是将C++11之前的引用就叫做左值引用。但是无论左值引用还是右值引用,原创 2023-09-24 09:03:29 · 226 阅读 · 0 评论 -
【QandA C++】面向过程、面向对象、多态的原理、虚函数表、虚表指针、虚析构、虚构造、虚函数、纯虚函数等重点知识汇总
有一个父类Animal,它定义了通用的属性和方法,例如名称、年龄和移动方式等。关于多态, 简单地说就是用父类型的指针指向其子类对象, 然后通过父类的指针调用实际子类的成员函数, 这种技术可以让父类的指针有多种形态. 如果调用非虚函数, 则无论实际对象是什么类型的, 都执行父类类型所定义的函数。关于多态, 简单地说就是用父类型的指针指向其子类对象, 然后通过父类的指针调用实际子类的成员函数, 这种技术可以让父类的指针有多种形态. 如果调用非虚函数, 则无论实际对象是什么类型的, 都执行父类类型所定义的函数。原创 2023-09-24 08:56:20 · 177 阅读 · 3 评论 -
【QandA C++】引用、指针、重写、重载、重定义、public、protected、private、友元、深浅拷贝、new、malloc、nullptr、NULL、析构函数等重点知识汇总
重载俩个函数在同一个作用域中函数名相同, 参数列表不同(参数的个数, 参数的类型, 参数的顺序)重载和俩个函数的返回值是否一样无关重写(覆盖)若子类中有一个和父类完全相同的虚函数返回值类型相同, 函数名相同, 参数列表完全相同), 此时叫做子类的虚函数重写了父类的虚函数虚函数重写的俩个特例析构函数的重写(父类和子类的析构函数名字不同), 如果父类的析构函数为虚函数, 此时子类析构函数只要定义;无论是否加 virtual 关键字, 都与父类的析构函数构成重写协变。原创 2023-09-23 17:21:27 · 165 阅读 · 0 评论 -
编译+链接和预处理
编译+链接和预处理等知识总结原创 2022-07-19 22:01:37 · 360 阅读 · 19 评论 -
“野指针”和大厂经典的动态内存错误笔试题
本部分是C语言重点内容动态内存管理的笔试题。对你有帮助的话,请三连支持吧!原创 2022-07-15 16:41:12 · 253 阅读 · 18 评论 -
动态内存函数和常见的动态内存错误
生命不息,进步不止。本篇总结动态内存函数和常见的动态内存错误的重点知识。三连支持吧!原创 2022-07-13 18:08:50 · 363 阅读 · 41 评论 -
常见的字符串函数和内存操作函数与其模拟实现
历时三天,做最全面的总结。创作不易,感谢支持!本部分重点介绍处理字符和字符串的库函数的使用和注意事项。原创 2022-07-08 23:26:40 · 255 阅读 · 22 评论 -
大厂经典指针笔试题
本篇费时费力,三连鼓励一夏吧,很想对你有帮助。该部分为指针经典题,努力练习,拒绝一看就会,一写就fei。原创 2022-07-05 09:04:37 · 349 阅读 · 34 评论 -
详解sizeof、strlen、指针和数组等组合题
生活不易,博主吐血整理!!本部分属于指针、数组、sizeof和strlen组合在一起的高级玩法,助你轻松拿下!原创 2022-07-02 20:24:59 · 562 阅读 · 27 评论 -
qsort函数和模拟实现qsort函数
qsort函数和模拟实现qsort函数使用快速排序的思想来实现的一个排序函数。原创 2022-06-29 22:38:33 · 267 阅读 · 23 评论 -
函数指针、函数指针数组、计算器+转移表等归纳总结
本部分内容属于C语言的高级玩法,属实厉害!!!原创 2022-06-26 16:27:48 · 222 阅读 · 29 评论 -
指针数组、数组指针和传参的相关问题
形式:int* arr[10] :注意:arr是和 [ ] 先结合在和 * 结合,因为 [ ] 的优先级比 * 高通过指针数组,我们就可以用一维数组来实现二维数组 👇👇形式: int (*p2) [10]; 是个数组指针,指向的是数组,该数组有10个元素,每个元素int类型,p2的类型是指针数组扣掉p2,剩下的就是p2的类型,int(* ) [10]注:因为 p1是和 [ ] 先结合在和 * 结合,因为 [ ] 的优先级比 * 高想用好数组指针,先要掌握以下内容: 👇👇看代码:(arr表示的...原创 2022-06-23 18:22:17 · 398 阅读 · 28 评论 -
大小端字节序和整型提升
⛳前言+目录:大小端字节序 和整型提升 是C语言中重要的知识点,其中的很多细节对初学C语言的小伙伴来说不是很友好,因此我总结了 大小端字节序 和 整型提升 的易错点,给你全面的介绍,一举掌握大小端字节序和整型提升⛵🚤🚢如果对您有帮助的话,不要忘记点赞+关注哦,蟹蟹目录📣前言+目录:📣大小端字节序:概念:整型提升:边做边学,提高更快🌵练习1:🌵练习2:🌵练习3:📣结语:...原创 2022-05-25 08:05:03 · 313 阅读 · 20 评论 -
虎了凿的移位操作符和位操作符
0.整数的二进制表示有三种:原码、 反码、补码整数在内存中存储的是补码printf打印的结果是原码人可以看见的就是原码对于正整数:原码、反码、补码相同对于负数:原码、反码(原码符号位不变,其他位按位取反)、补码(反码+1)1.移位操作符注意:移动的是二进制位、只能是整数、移位后num的值不变左移操作符(<<):(左边丢弃,右边补0)举例int a=7;a在内存中:0000000000000原创 2022-05-18 07:14:20 · 348 阅读 · 18 评论 -
糊里糊涂的递归和递归经典题
🐲前言+目录:递归是C语言中非常重要的知识点,其中的大事化小等思想对初学C语言的小伙伴来说不是很友好,因此我整理了递归的经典题目并向外拓展,给你全面的介绍,重新认识递归🌍🌎目录🌊前言+目录:🌊递归知识点:🌊上题:🌊结语:🐲递归知识点:递归概念:程序调用自身的编程技巧称为递归( recursion)。 递归做为一种算法在程序设计语言中广泛应用。 一个过程或函数在其定义或说明中有直接或间接 调用自身的 一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题原创 2022-05-11 07:31:21 · 546 阅读 · 37 评论 -
虎头虎脑的sizeof、strlen、数组长度、数组中元素个数和字符串长度
对于C语言的初学者,常常被sizeof、strlen、数组长度、数组中元素个数和字符串长度这些涉及数组的概念的题弄得摸不着啊头脑,今天我将以往所遇到的相关问题,提取精华,整理了出来,查阅资料,给你最全面的介绍,下次看到不再发慌,一笑而过保熟的总结:🔥sizeof、strlen 总结:sizeof 是操作符,计算变量(类型)所占内存空间的大小,单位是字节,不关注内存中存放的内容int num=10; num的类型是intpri...原创 2022-05-03 08:03:55 · 2375 阅读 · 50 评论 -
【C语言初学必看】之三子棋小游戏的实现
🔥🚀前言+目录:完成一个三子棋的代码并不是很难,有困难且重要的是完成这个游戏代码所具备的思想,因为思想上的进步才是真正的进步,当我们有了这个思想上的武器,写出别的代码,难度就不会高。授人以鱼不如授人以渔,这篇文章重点从思想上的角度来写,助你举一反三,在写代码时不再害怕,真的很想对你有帮助呀,代码放在文章最后啦💪💪💪⛳⛳目录🧶 前言+目录:🧶🔥 思想提升+重要代码片段:🧶 三子棋代码:🧶 结语:🔥🔥🔥🚀思想提升+重要代...原创 2022-05-01 08:25:13 · 580 阅读 · 32 评论 -
【C语言初学必看】一知半解的for循环嵌套for循环
🔥🚀前言+目录:初学C语言,常常遇到for循环中嵌套个for循环,初学者对于这种形式总是一知半解,这次我就整理了常见的for循环嵌套for循环的题目,我们一起争取一举拿下这类题。学废他们,以后再见到就不怕啦!每天都要学一点呀。加油,奋斗的我们!💪💪💪目录⛳🔥🚀前言+目录:🔥🔥🔥🚀做题前先学招: //就这一句话,但是真的好用🔥🔥🚀上题上题:🔥🚀结语:🔥🔥🔥🚀做题前先学招:for循环嵌套个for循环,就是以下类型👇👇👇for(....原创 2022-04-28 07:58:56 · 44207 阅读 · 47 评论 -
【C语言初学必看】之冒泡排序和竞选社长
🚀前言+目录:这次就俩题,题目不在多,在于精。冒泡排序 和 竞选社长 代表着俩类题,学废他们,以后再见到就不怕啦!每天都要学一点呀,东西就这么多,学一点少一点。加油,奋斗的大家!💪💪💪目录🧶前言+目录:🧶做题前先学招:⏰冒泡排序:⏰竞选社长:🧶上题上题:🧶结语:🚀做题前先学招: 👇👇👇⏰冒泡排序:解释一通思想:俩俩相邻的元素进行比较,满足条件的话,进行交换什么时候用到冒泡排序?有一个无序数组,将它按顺序排列好...原创 2022-04-21 15:23:01 · 952 阅读 · 29 评论 -
【C语言初学必看】之多组输入的玄机
🚀前言+目录:牛客网上刷到了很多关于多组输入的相关题目,今天把他们整理到了一起,很想对你有帮助呀,大家一举攻克多组输入吧,加油,奋斗的大家!💪💪💪目录🧶前言+目录:🧶做题前,先来学一招🧶上题(博主吐血整理):🧶结语:🚀做题前,先来学一招 👇👇👇多组输入中,一个很重要的东西也是值得大家注意的就是清理缓冲区1.getchar()常用于输入字符的多组输入中 需要清理\n常见格式:int ch=0;while((ch=getch...原创 2022-04-19 12:59:57 · 2178 阅读 · 27 评论 -
【C语言初学必看】水仙花数、变种水仙花数背后的知识
水仙花数和变种水仙花数是适合初学者学习的代码,看完你也要学会哦 ⛳原创 2022-04-12 15:04:52 · 1316 阅读 · 14 评论 -
【C语言初学必看】之刷精选题篇2
🚀前言: 来看看这里有哪些你还没踩的坑吧 加油,奋斗的技术人!💪💪💪 🚀第一题:题目:先看代码:👇👇👇代码剖析:1.为什么是int 而不是char类型,因为getchar( )的返回值是int类型2.EOF:end-of-file文件结束的标志,ctrl+z可以在键盘上实现EOF3.请记住这个格式,多组输入时常常用到这个格式in...原创 2022-04-09 16:28:50 · 746 阅读 · 20 评论 -
【C语言初学必看】之刷精选题篇
编程语言初学训练营_在线编程+题解_牛客题霸_牛客网 (nowcoder.com)第一题看到的是输出printf()的返回值,第一次看到的话确实发懵了,网上搜索一下大致说的是:返回的是字符的个数printf("Hello world!");打印出的是12个字符,特别注意:空格也算哦//第一种写法int main(){ int ret = printf("Hello world!"); printf("\n"); printf("%d", re..原创 2022-04-07 19:57:30 · 908 阅读 · 14 评论 -
【C语言初学必看】猜数字游戏背后的知识
前言:猜数字游戏是非常适合初学者学习的代码,其中包含的函数、循环和逻辑方式等知识点。这既能起到对以往知识的复习,也可以学习到一种不同的逻辑思考方式。有一些知识点可能曾经闻所未闻的,不要像多数人一样放弃,如果不走出舒适圈就不可能进步。难题摆在这里,唯一可以改变现状的只有你自己,加油。以下是猜数字游戏的所有代码://要求写一个猜数字游戏//1.自动产生一个1-100之间的随机数字//2.猜数字// a.猜对了,就恭喜你,游戏结束// b.猜错了,会告诉你...原创 2022-04-06 14:26:15 · 5049 阅读 · 9 评论 -
超详细的分支和循环语句知识点
目录前言:1.分支语句(选择语句) a. if 语句b. if 语句易错点c. switch 语句(常用于多分支的语句)2.循环语句 ...原创 2022-04-04 12:55:08 · 932 阅读 · 5 评论 -
【C语言初学必看】五分钟拿下数组
1.一维数组: a.一维数组的创建和初始化:数组是一组相同类型元素的集合得数组的格式为: 数组的类型 数组名[ 常量表达式] ;数组的创建易错点:一维数组的初始化:一维数组的初始化中有很多初学者易犯的小错误#include <stdio.h>#inclu...原创 2022-04-03 16:38:16 · 1542 阅读 · 2 评论 -
>>>C语言<<< 前言、什么是C语言 、标准格式 、数据类型 、数据的输入和输出 、结束语
前言:编程小白也可以看懂的C语言基本知识。一些基础的知识,如果你不能理解,也不用去钻牛角尖,就像数学中的定理,知道有这么回事并记录下来就好。1.什么是C语言:C语言是一门通用的计算机编程语言,广泛用于底层开发。2.C语言的标准格式:推荐使用左下角的格式 。 ...原创 2022-04-02 13:18:15 · 1460 阅读 · 4 评论