明天会比今天更好
码龄4年
  • 336,133
    被访问
  • 183
    原创
  • 888,436
    排名
  • 157
    粉丝
  • 6
    铁粉
关注
提问 私信

个人简介:本号从今天开始会对很多行业的知识点进行刨析,不管是IT行业,还有你们非常向往的小语种行业!欢迎大家热烈加入,踊跃参与!

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:湖南省
  • 加入CSDN时间: 2018-10-07
博客简介:

qq_43351159的博客

查看详细资料
个人成就
  • 获得329次点赞
  • 内容获得54次评论
  • 获得1,430次收藏
创作历程
  • 168篇
    2020年
  • 77篇
    2019年
成就勋章
  • 最近
  • 文章
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

C语言实现常用数据结构:栈-顺序栈实现(第6篇)

栈栈是一种特殊的线性表,其特性是仅能在表尾进行插入或删除的操作,栈中元素的操作是按照后进先出的原则进行,因此栈又称为后进先出线性表(Last In First Out,LIFO数据结构)。栈顶:表尾端称为栈顶栈底:表头端称为栈底空栈:不含任何元素的空表称为空栈出栈:从栈中删除一个元素的操作称为出栈入栈:从栈中增加一个元素的操作称为入栈顺序栈实现栈有两种存储实现方法,一种是顺序存储实现,一种链式存储实现。考虑简单性和日常使用方便,这里使用顺序存储的方式实现,链式实现可以
原创
发布博客 2020.08.15 ·
275 阅读 ·
1 点赞 ·
0 评论

C语言实现常用数据结构:静态链表-数组实现(第5篇)

静态链表使用数组实现,利用数组下标代替指针,从而实现数据结点之间的先后关系。实现要点:1.数组下标为0的位置为头结点,指向自身时表明链表为空。2.数组下标为1的位置为空间备用链表的头结点,保存未被使用的数组空间。3.数组下标代替指针来理解链表结构。备注:从逻辑结构来看,其实有两个链表存在的数组中,一个用于保存数据的链表,一个是未使用的空闲链表。另外链表其它实现参见:使用示例功能:输入数据个数和数据,逆序保存到顺序表,并逆序输出显示到屏幕。运行结果如下:请输入数据总个数:10请依次输入10
原创
发布博客 2020.08.14 ·
560 阅读 ·
0 点赞 ·
0 评论

谁写的代码,恶心

***1、***下面一段代码将注释和代码混在了一起,不认真看还真不知道。高亮显示后:***2、***看到这种多层嵌套恶心到头大。3、据说某俄国特工经过九死一生偷到了NASA的太空火箭发射程序的源代码的最后一页,代码是:))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
原创
发布博客 2020.08.14 ·
599 阅读 ·
3 点赞 ·
0 评论

新的程序开发模式出现,传统的嵌入式C语言程序员快要灭绝了?

在2000年前后,嵌入式软件工程师有着一套非常具体的技能,他们通常是电气工程师,不仅了解底层硬件的工作原理,还可以再底层编写汇编代码或者C语言代码,以使系统满足实时需求。嵌入式软件工程师不仅要了解诸如C语言的软件开发,还要了解硬件。位、字节、寄存器的世界,正是嵌入式软件工程师的领域。但是如今不再那么简单了。在早期,嵌入式开发人员通常使用 8 位或者16位的体系结构,这些结构比较简单,因此开发人员一般在几个月的开发周期内便能掌握这些结构。但是近些年来,许多嵌入式开发团队已经转向更加复杂的 32 位体系.
原创
发布博客 2020.08.13 ·
184 阅读 ·
0 点赞 ·
0 评论

C语言实现常用数据结构:不带头结点的单链表(第4篇)

使用示例带头结点的单链表请参见:[C语言实现常用数据结构:带头结点的单链表(第3篇)https://blog.csdn.net/qq_43351159/article/details/107840078功能:输入数据个数和数据,逆序保存到顺序表,并逆序输出显示到屏幕。运行结果如下:请输入数据总个数:10请依次输入10个整数:0 1 2 3 4 5 6 7 8 9单链表输出结果:9 8 7 6 5 4 3 2 1 0单链表删除5位置数据后输出结果:9 8 7 6 4 3 2 1 0代码实现:
原创
发布博客 2020.08.13 ·
170 阅读 ·
0 点赞 ·
0 评论

面试系列之C++的对象布局【建议收藏】

我们都知道C++多态是通过虚函数表来实现的,那具体是什么样的大家清楚吗?开篇依旧提出来几个问题:普通类对象是什么布局?带虚函数的类对象是什么布局?单继承下不含有覆盖函数的类对象是什么布局?单继承下含有覆盖函数的类对象是什么布局?多继承下不含有覆盖函数的类对象是什么布局?多继承下含有覆盖函数的类对象的是什么布局?多继承中不同的继承顺序产生的类对象布局相同吗?虚继承的类对象是什么布局?菱形继承下类对象是什么布局?为什么要引入虚继承?为什么虚函数表
原创
发布博客 2020.08.13 ·
259 阅读 ·
0 点赞 ·
0 评论

你们要的各类编程语言书籍推荐

说明:1、每一个方向可能推荐不止一本,只选一本即可。2、有的书非常详细,底层的一些东西解释的很全面,这种时候没有必要去纠结里面的细节,可以先按照路线往后学,都弄懂了再回来研究这些细节。3、不管学什么,怎么学,一定记得多敲代码。4、初学时以顿开的视频为主,书作为参考,这样效果更佳哦。5、这里列举出来的只是常规的一些推荐,有的可能不是最新版,小伙伴们根据自己的需要来选择。6、有的数最新版推出的时间可能较短,所以评分不是很多,小伙伴注意选择最新版的购买。7、如果小伙伴有其他更好地入门书籍推荐,请.
原创
发布博客 2020.08.12 ·
509 阅读 ·
1 点赞 ·
0 评论

计算机存储的大端法和小端法

01引言在计算机内存中,通常是以字节(Byte),也就是 8 个位(Bit)为基本存储单元(也有以 16 位为基本存储单元的)。对于跨越多个字节的数据类型(比如 int 长 4 个字节),如何在内存中对这些字节进行排序有两种常见的方法:大端法(Big-endian)和小端法(Little-endian)【注】首先不管是大端法还是小端法存储,计算机在内存中存放数据的顺序都是从低地址到高地址,所不同的是首先取低字节的数据存放在低地址还是取高字节数据存放在低地址。比如说:0x12345  &n
原创
发布博客 2020.08.10 ·
745 阅读 ·
0 点赞 ·
0 评论

C++ 流插入和流提取运算符的重载

—***** 1******—*<< 运算符的重载C++ 在输出内容时,最常用的方式:std::cout << 1 <<"hello";提出问题:那这条语句为什么能成立呢?cout 是什么?为什么 << 运算符能用在 cout 上呢?原因:实际上,cout 是在 iostream 头文件中定义的 ostream 类的对象。
原创
发布博客 2020.08.10 ·
1743 阅读 ·
5 点赞 ·
0 评论

TIOBE 2020 年 8 月编程语言排行榜:C语言仍稳居榜首,值得关注的依然是 Go、R、Swift 等

TIOBE 已公布 2020 年 8 月的编程语言排行榜。在本期榜单中指数没有太大变化,编程语言R继续上升,依然成为2020年TIOBE的编程语言的明星语言。更值得关注的依然是Go、Swift和SQL在排行榜第10名的竞争。Swift排名落后了2个名次(#10到#12),取而代之的是SQL重新的回到了第十位。同样值得注意的是Groovy以牺牲Scratch的代价重新进入TIOBE指数前20,Hack以44的位置进入前50。编程语言前十排行榜前 10 名编程语言长期走势图:前 10 名编程语言长期走
原创
发布博客 2020.08.06 ·
254 阅读 ·
0 点赞 ·
0 评论

C语言实现常用数据结构:带头结点的单链表(第3篇)

单链表单链表使用指针来保存线性表数据元素的关系。实现要点:1.使用指针来指向下一个数据元素。2.单链表分为带头结点的单链表、不带头结点的单链表。3.使用带头结点的单链表不需要对空表进行特殊处理,简化操作。优缺点和适用场景:适用于进行大量插入、删除操作的场景,不具备随机存取的特性,访问数据必须循环遍历。使用示例功能:输入数据个数和数据,逆序保存到顺序表,并逆序输出显示到屏幕。运行结果如下:请输入数据总个数:10请依次输入10个整数:0 1 2 3 4 5 6 7 8 9单链表输出结果
原创
发布博客 2020.08.06 ·
2265 阅读 ·
5 点赞 ·
1 评论

掌握10个关键点,让你在ARM下进行高效的C编程

通过一定的方法来编写C程序,可以帮助C编译器生成执行速度更快的ARM代码。下面就是一些与性能相关的关键点:1.对局部变量、函数参数和返回值要使用signed和unsigned int类型。这样可以避免类型转换,而且可高效地使用ARM的32位数据操作指令。2.最高效的循环体形式是减计数到零(counts down to zero)的do-while循环。3.展开重要的循环来减少循环的开销。4.不要依赖编译器来优化掉重复的存储器访问。指针别名会阻止编译器的这种优化。5.尽可能把函数参数的个数限制在4个
原创
发布博客 2020.08.06 ·
150 阅读 ·
0 点赞 ·
0 评论

函数调用的三种约定,你都清楚吗

__cdecl、__stdcall、__fastcall是C/C++里中经常见到的三种函数调用方式。其中__cdecl是C/C++默认的调用方式,__stdcall是windows API函数的调用方式,只不过我们在头文件里查看这些API的声明的时候是用了WINAPI的宏进行代替了,而这个宏其实就是__stdcall了。三种调用方式的区别相信大家应该有些了解,这篇文章主要从实例和汇编的角度阐述这些区别的表现形态,使其对它们的区别认识从理论向实际过渡。我们知道,函数的调用过程是通过函数栈帧的不断变化实现的
原创
发布博客 2020.08.06 ·
155 阅读 ·
0 点赞 ·
0 评论

C语言实现常用数据结构:顺序表(第2篇)

顺序表顺序表使用一组连续的物理内存存储地址按照次序存放线性表的元素。实现要点:1.顺序表的长度可变。2.利用C语言的动态内存分配函数,动态分配内存,增加顺序表长度。3.顺序表初始分配一定大小的存储空间,当空间不足时,再次申请一定增量的空间。优缺点:1.顺序表具备随机存取特性,直接根据内存位置访问数据。2.顺序表插入和删除操作,需要移动大量元素。因此:顺序表适用于很少进行插入、删除操作,经常进行大量查询修改操作的场景。使用示例功能:输入数据个数和数据,逆序保存到顺序表,并逆序输出显示到屏
原创
发布博客 2020.08.05 ·
346 阅读 ·
0 点赞 ·
0 评论

C语言实现常用数据结构:简要一览(第1篇)

线性表最简单的一种数据结构,具有相同类型的数据元素组成的序列。顺序表、链表是其两种简单实现。备注:数组也可以算一种简单的线性表。链表可以分为:带头结点的简单链表不带头结点的简单链表静态链表循环链表双向链表栈限定增加和删除数据操作只能在线性表的末端进行,因此是一种受限的特殊线性表。实现方式有:顺序栈链栈栈典型的特点是:数据“后进先出”,栈可以用来实现递归。栈数据结构的主要操作是出栈、入栈。队列限定增加数据元素在线性
原创
发布博客 2020.08.05 ·
1303 阅读 ·
2 点赞 ·
0 评论

C语言实现常用数据结构:基本概念(第0篇)

写在前面:为什么学习C语言数据结构今天开始,我准备和一起分享学习C语言常用数据结构,这里不求事无巨细的掌握数据结构的方方面面,而是学习编程、考试等实际中常用的重要数据结构,这里以分享可以运行的代码为学习主要方式,因为可运行的代码有时候是最好的老师。数据结构和算法是十分重要的。C语言+数据结构+算法=C语言程序。考虑下编程的过程:对于一个真实的问题,编程解决步骤往往是:第一步分析问题,第二步找到数学方法“纸面上”解决它,也就是找到“算法”,第三步选择合适的数据结构存放数据,实现“算法”,第四步选择编程语言
原创
发布博客 2020.08.05 ·
221 阅读 ·
0 点赞 ·
0 评论

C语言必学的12个排序算法:基数排序(第11篇)

基本思想基数排序(radix sort),同样时一种非比较的内部排序算法,主要基于多关键字排序的思想进行排序,它将单个关键字按照基数分成“多个关键字”进行排序。例如整数789是一个关键字,可以按照十进制位划分多关键字(十进制数字取值0-9,所以基数是10),从高到低分为三个关键字“7、8、9”,这样对每位关键字进行排序,即可得到排序。基数排序对关键字数据元素有要求,一般是等长的整数和字符串。基数排序是一种稳定的内部排序算法。时间复杂度是O(d*(n+radix),d是关键字位数,radix是基数。例如
原创
发布博客 2020.08.04 ·
262 阅读 ·
1 点赞 ·
1 评论

C语言必学的12个排序算法:桶排序(第10篇)

基本思想桶排序(bucket sort),和计数排序(参见前一篇文章)有些类似,同样是线性排序算法,基本思想是将输入的待排序列n个整数数据元素,根据每个数据元素的取值范围[0,k],划分称为m个区间,每个区间称为桶,每个桶存放该区间的数据元素,由于每个桶内的数据元素个数不确定,可以使用链表表示,同时使用插入排序,让每个桶的链表有序。这样按照次序将所有桶的元素连起来就得到完整的有序列表。桶排序,和计数排序一样,对输入的数据元素有一定要求,需要根据数据元素特征容易划分桶,具体问题具体分析,以下均以常用的整数
原创
发布博客 2020.08.04 ·
629 阅读 ·
1 点赞 ·
1 评论

C语言必学的12个排序算法:计数排序(第9篇)

####题外话计数排序时间性能比之前的排序算法高,在实际中应用较多,只需要O(n)时间即可完成排序。计数排序思想比较巧妙,建议大家对照课本多学习,本文主要给出能运行的实例程序。[C语言必学的12个排序算法:基础知识 (第0篇)]线性时间排序之前学习的快速排序、堆排序、归并排序都是一类基于比较的排序算法,需要通过比较关键字大小确定数据元素的位置。这类算法最优的时间复杂度只能到O(nlogn)。线性时间排序是一类非比较排序算法,时间复杂度O(n),不需要通过比较关键字大小即可完成排序。计数排序(coun
原创
发布博客 2020.08.03 ·
297 阅读 ·
0 点赞 ·
0 评论

C语言必学的12个排序算法:归并排序(第8篇)

####题外话很多童鞋感受算法比较难度,的确,算法其实和C语言本身关系不大,算法是计算机科学家利用丰富的数学和算法设计知识研究出来,如今我们只需拿来主义,学习使用即可,当然这需要一定的努力过程。[C语言必学的12个排序算法:基础知识 (第0篇)]基本思想核心是归并思想,将两个或两个以上的有序数据记录序列合并成一个完整的有序数据记录序列,其时间复杂度O(n+m),其中m,n表示两个有序序列的长度。例如:对于A(1,3,5)和B(2,4,6)两个有序序列A和B归并成有序序列C。第1步:1和2比较,1被
原创
发布博客 2020.08.03 ·
188 阅读 ·
0 点赞 ·
0 评论
加载更多