前言
想要学好嵌入式C语言与数据结构是必要熟练掌握的而想熟练掌握一门语言必须经过大量的练习刷题至少需要一两万行的代码量才能具有一定的编程能力至少拿到一个功能怎么去用编程语言去实现它从现在开始我要开启刷题之路提高自己的编程水平还有最重要的面试能力。
推荐一款刷题神器 -> 点击跳转进入网站(C语言方向)
1.合并两个有序的数组
题目分析A数组的有效元素个数为mB数组的有效元素个数为nA数组的大小为nm确保能容纳A、B两个数组的有效元素,A、B数组都为有序数组然后将他们合并到A数组中并仍然保持升序。
解题思路因为两个数组已经是有序的所以我们可以从两个数组的最后的有效元素开始比较把较大的元素放在A数组的最后一个元素然后依次进行比较。
代码实现
如何刷题
1.如果你是基础不太好可以先按照题解跟着手打代码重点理解题目思路将题目所用到的知识点解题技巧提炼出来锻炼代码能力解题思路。
2.当有一定的代码能力之后但是看题还是没有思路可以先看解题思路理解它然后尝试用代码去实现它。(主要锻炼代码能力进一步锻炼解题思维)
3.拿到一个题目自己先尝试解题最好是能将解题思路用画图的方式体现出来这样更能加深印象然后用代码实现实现之后再看看题解或者别人的解题方法进行对比找到最优解题思路
最后在解题过程中碰到问题如下图(题目提交后通不过报错(代码可能有bug)尽量独立思考可以先尝试用它的测试用例一步一步走读代码看看问题出现在那个地方如果实在是没有看出来可以将该函数拷贝到VS中进行调试代码一定能找出来。锻炼自己的代码调试能力
总结
要想学好嵌入式C语言是根本但是也离不开数据结构尤其是链表、队列方面的知识就接下来我要更新的freerots实时操作系统就需要用到大量的链表和队列的知识要想提高自己的编程水平笔试能力和面试技巧就得大量刷题手打代码 ->点击跳转进入网站(数据结构算法方向)