做软件开发,需要了解或是掌握一些常用的算法,排序,也是一种算法。
之前嵌入式软件接触的算法不多,但随着科技的进步,常用的通信与控制,相对变的简单化了。除了掌握底层驱动,上层的数据结构与算法,面向对象的编程思路,都是需要不断的掌握起来的,也就是说,要具有与时俱进的心态,有终身学习的打算。
最近手写了冒泡法排序的算法,虽然思路是有的,发现了很多的低级的问题。
(1)计算机编程,习惯了使用IDE,使用变量或是函数名自动补全,代码的编写除了通过搜索获取代码,改下格式与程序结构,很少从头到尾的写。
(2)一般代码,很少一次性写对,变量名称,函数名称,数据类型,程序逻辑,测试代码,可能是不断的调试与修改。
手写的代码,没有上机验证,无法直接获取输出结果。需要通过理解,大体上判断逻辑上是否清晰,逻辑是否有误。所以,基本功还是要打一打。我对自己手写的代码,写完发现逻辑不正确,修改后,勉强能工作,并且还没有考虑异常情况。
当然,这些不足,都是自己平时不太注重细节造成的,虽说世界在剧烈的变化,心态还是要稳,一步步把框架搭好,把细节处理好,这就是人生的高楼的建设过程。
冒泡排序的主要算法&