为了给富豪面子,小码农写了这篇博客——程序环境和预处理帝都富豪与富家总裁联动文章身价过亿的女总裁对小码农说你按键会了吗(https://blog.csdn.net/qq_42832862/article/details/120678330?spm=1001.2014.3001.5502)程序的翻译环境和执行环境在ANSIC的任何一种实现中,存在两个不同的环境第一种是翻译环境,在这个环境中源代码被转
动态内存管理为什么存在动态内存分配我们到现在为止掌握的是什么样的内存开辟方式呢c//创建一个变量intval=20;//局部变量在栈空间中开辟4个字节intg_val=10;//全局变量在静态区中开辟4个字节//创建一个数组chararr10={0};//局部区域在栈空间中开辟10个字节连续的空间charg_arr5={0};//全局区域在静态区空间中开辟5个字节的连续空间!image202109
浅谈函数栈帧很抱歉我用的是vs19,这个笔记本不可以装两个vs,性能不够,不是什么好电脑,但vs19只有调用main函数的那个“东西”看不到,其他的还是可以看到很多的,在开辟空间上优化很多。废话不多说直接上错误的地方本文有的地方ebp写成edp由于修改地方太多就不改了,基本是写到一半才发现哎什么叫栈帧可以直接说他就是一个空间,再准确点是存储空间。该明白的一点知识1.ebp(栈底指针),esp(栈顶
自定义类型结构体结构是一些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量声明一个结构体类型c//声明一个学生类型,是想通过学生类型来创建学生变量(对象)//描述学生就得有属性啥的。名字,电话,性别,年龄structStu{charname20;//名字chartele12;//电话charsex10;//性别intage;//年龄};structStus3;//创建全局结构体变量
字符串函数c语言中对字符和字符串的处理很是频繁,但是c语言本身是没有字符串类型的,字符串通常放在常量字符串中或者字符数组中,字符串常量适用于那些对他不做修改的字符串函数求字符串长度strlen字符串以'\0'作为结束标志,strlen函数返回的是在字符串中'\0'前面出现的字符个数(不包含'\0')。参数指向的字符串必须要以'\0'结束。注意函数的返回值为size_t,是无符号的学会模拟实现。原格
内存函数memcpy内存拷贝函数memcpy从source的位置开始向后复制num个字节的数据到destination的内存位置。这个函数在遇到'\0'的时候并不会停下来。如果source和destination有任何的重叠,复制的结果都是未定义的。原格式!image20210912150415470(https://s4.51cto.com/images/blog/202112/29082841
栈接口见算法开启小码农栈血脉(https://blog.csdn.net/diandengren/article/details/121055584?spm=1001.2014.3001.5501)用栈实现队列(https://leetcodecn.com/problems/implementqueueusingstacks/)题目!image20211102223625269(https://s
设计循环队列(https://leetcodecn.com/problems/designcircularqueue/)题目!image20211103204637814(https://s4.51cto.com/images/blog/202112/28220053_61cb1895deaf869283.png?xossprocess=image/watermark,size_14,text_Q
栈栈的概念及结构栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(LastInFirstOut)的原则。压栈:栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶!(https://s4.51cto.com/images/blog/202112/28215900_61cb1824e9ea921245
二维数组中的查找面试题3:!image20210910134358545(https://s4.51cto.com/images/blog/202112/27153931_61c96db33284312546.png?xossprocess=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_
双链表双链表结构图!image20211028225455233(https://s4.51cto.com/images/blog/202112/27152544_61c96a787d9013076.png?xossprocess=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shad
二叉树续前两天二叉树情缘我们学习二叉树的增删查改没有意义,要去学习控制他的结构,因为以后会学到搜索二叉树,在二叉树的基础上还会学到AVL树和红黑树二叉树的存储结构二叉树一般可以使用两种结构存储,一种顺序结构,一种链式结构。1.顺序存储顺序结构存储就是使用数组来存储,一般使用数组只适合表示完全二叉树,因为不是完全二叉树会有空间的浪费。而现实中使用中只有堆才会使用数组来存储,关于堆我们后面的章节会专门
队列队列的概念及结构队列:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出FIFO(FirstInFirstOut)!image20211031194945801(https://s4.51cto.com/images/blog/202112/25140026_61c6b37aaea0c71916.png?xossprocess=image/watermark,
队列接口见算法开启小码农队列血脉(https://blog.csdn.net/diandengren/article/details/121072953?spm=1001.2014.3001.5501)用队列实现栈(https://leetcodecn.com/problems/implementstackusingqueues/)题目!image20211101211340400(https:/
排序常见的排序算法!image20211119082822804(https://s4.51cto.com/images/blog/202112/23090050_61c3ca42969a241559.png?xossprocess=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,sha
<fontcolor=996633排序</font<fontcolor=9400D3常见的排序算法</font!image20211119082822804(https://s4.51cto.com/images/blog/202112/22093326_61c28066c13a72292.png?xossprocess=image/watermark,size_14,text_QDUxQ1RP5
<fontcolor=996633排序</font<fontcolor=9400D3常见的排序算法 扩展</font<fontcolor=FF0033计数排序</font不进行数据的比较,而是统计数据出现的次数思想:计数排序又称为鸽巢原理,是对哈希直接定址法的变形应用。操作步骤1.统计相同元素出现次数2.根据统计的结果将序列回收到原来的序列中<imgsrc="https://gitee.com
<fontcolor=996633排序</font<fontcolor=9400D3常见的排序算法</font!image20211119082822804(https://s4.51cto.com/images/blog/202112/19080733_61be77c5e439d25796.png?xossprocess=image/watermark,size_14,text_QDUxQ1RP
二叉树OJ淬体例1:单值二叉树(https://leetcodecn.com/problems/univaluedbinarytree/)题目!image20211114094938096(https://s4.51cto.com/images/blog/202112/18133318_61bd729ee022052621.png?xossprocess=image/watermark,size_
堆排序升序一种非常正常的想法空间复杂度O(N)把数组中的元素全都push到小堆中,然后再取堆顶元素重新给数组,就可以达到升序的效果了堆升序函数HeapSort!image20211109215923477(https://s4.51cto.com/images/blog/202112/17141702_61bc2b5ea37b367962.png?xossprocess=image/waterma
堆数据结构中的堆不同于操作系统中的堆(操作系统中的堆是用来存储动态内存的),数据结构中的堆是数据的存储方式。数据结构中的堆是完全二叉树既然堆是完全二叉树的形式存储的那么就非常适合用数组的方式来表示堆的概念及结构如果有一个关键码的集合K={k0,k1,k2,…,kn1},把它的所有元素按完全二叉树的顺序存储方式存储在一个一维数组中,并满足:Ki<=K2i+1且Ki<=K2i+2(Ki=K2i+1且K
排序排序的概念及其运用排序的概念排序:所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。稳定性:假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,ri=rj,且ri在rj之前,而在排序后的序列中,ri仍在rj之前,则称这种排序算法是稳定的;否则称为不稳定的。内部排序:数据元素全部放在内存中的排序。外
Topk在n个数中找出最大的前K个or在n个数中找出最小的前K个(nK)1000个数中找到最大的前十个方式1:先排降序,前十个就是最大的。时间复杂度O(Nlog2N)方式2:N个数依次插入大堆,PopK次,每次取堆顶的数据就是最大的前K个。时间复杂度O(N+log2N)(下篇证明)方式3:假设N非常大,N是10亿,内存中存不下这些数,他们存在文件中,k是100。那么方式1与方式2就都不可以用了。时
环链环形链表(https://leetcodecn.com/problems/linkedlistcycle/)题目!image20211025221103012(https://s4.51cto.com/images/blog/202112/13102656_61b6af70282b93336.png?xossprocess=image/watermark,size_14,text_QDUxQ1
复制带随机指针的链表(https://leetcodecn.com/problems/copylistwithrandompointer/)天下傻逼独一个就是我,我忘记了选c语言,用c结果错误看一脸懵逼!image20211028093751124(https://s4.51cto.com/images/blog/202112/12142938_61b596d29cf3c78404.png?xos
顺序表线性表线性表(linearlist)是n个具有相同特性的数据元素的有限序列。线性表是一种在实际中广泛使用的数据结构,常见的线性表:顺序表、链表、栈、队列、字符串...线性表在逻辑上是线性结构,也就说是连续的一条直线。但是在物理结构上并不一定是连续的,线性表在物理上存储时,通常以数组和链式结构的形式存储。!image20211013044050038(https://s4.51cto.com/
被富豪注意了,我赶紧写下时空复杂度这篇文章什么是数据结构就是实现一些项目,需要在内存中将数据存储起来算法的时间复杂度和空间复杂度1.算法效率2.时间复杂度3.空间复杂度4.常见的时间复杂度以及复杂度oj练习1.算法效率如何衡量一个算法的好坏比如下面的斐波那契数列clonglongFib(intN){if(N<3)return1;returnFib(N1)+Fib(N2);}算法的复杂度算法在编写成
今晚只为你一人人类高质量指针题知识的耦合首先说一下这题如果会了,基本c小成。!image20210907212600635(https://s4.51cto.com/images/blog/202112/29083544_61cbad603c99b17264.png?xossprocess=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FF
文件操作什么是文件磁盘上的文件是文件但是在程序设计中,我们一般谈的文件有两种:程序文件,数据文件(从文件功能的角度来分类的)程序文件包括源程序文件(后缀为.c).目标文件(windows环境后缀为.obj),可执行文件(windows环境后缀为.exe)数据文件文件内容不一定是程序,而是程序运行时读写的数据,比如程序运行需要从中读取数据文件,或者输出内容的文件!image2021092713135
链式二叉树我们需要明白一点,就是普通的二叉树增删查改没有什么价值,因为普通二叉树用来存数据复杂且不方便那么链式二叉树有什么好的地方呢价值体现:在他的基础之上,增加一些性质,才有意义1.搜索二叉树:最多查找高度次时间复杂度O(N)单链树也就引出平衡二叉树AVL树和红黑树2.Huffman树(以后再说,反正不是现在了解的)我们不关注普通二叉树的增删查改,我们关注递归遍历结构1.为后面学习更有用树打基础
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号