今天开始撸算法了。如果你是想看算法的十分详细的具体步骤的,那请你你奏凯!我只是记录自己的心得,私以为给不了您多少帮助!
经过最近的实习生活,感觉到算法很重要啊,很磨练人的逻辑思维,我就不多说了,先偷一张别人的图片放在这里。
看一下排序算法的分类如下
还有算法的性能比较我也是偷人家的
下面给大家汇报一下今天撸过的算法
1、冒泡排序
冒泡排序是比较简单的一种稳定的排序算法,(什么?你问我什么是稳定的排序算法?走你,其实说白了就是对于重复的不进行排序)
冒泡排序,顾名思义,就是把最小的数字像气泡一样慢慢浮出水面,那么,该算法在排序的时候就是这种思想,将最小的数字不断的送到数组的最前面。在这个“送”的过程中,就涉及到了两个过程,第一:遍历出每个数组的数字,得到要冒泡的数字(num[i]);第二,对于遍历出的数字要和排在你前面的数字不断的比较,当发现前面的数字比当前的小(num[i-1]<num[i],其实等于的时候也不进行操作了,满足稳定性定义,这就是为什么冒泡排序是个稳定排序算法的原因,什么?为什么不考虑等于的状况,嗨~如果考虑了还要多做一次操作,你不累,我还累呢!)的时候,那么该遍历的数字就就停止(break)前进找到适合自己的位子了。
上代码: