我们发现普通查找和排序查找的性能差别很大。作为一个100万的数据,如果使用普通的查找方法,那么每一个数据查找平均下来就要几十万次,那么二分法的查找呢,20多次就可以搞定。这中间的差别是非常明显的。既然排序有这么好的效果,那么我们就对七种排序算做一个总结。
排序可以分为两种:
(1)非递归排序:它主要按照非递归的方法对数据进行排序,也就是说主要数据的移位和循环来完成,主要有冒泡排序、直接插入排序、希尔排序、直接选择排序;
(2)递归排序:我们在排列当前数据的时候首先把子数据排列有序,然后才会排列当前的数据。这种不断递归调用的方法就是递归排序,主要有快速排序、归并排序和堆排序。
冒泡排序是非常容易理解和实现,,以从小到大排序举例,设数组长度为N:
1.比较相邻的前后二个数据,如果前面数据大于