排序
排序就是将输入的数字按照从小到大的顺序进行排列。这里我们用柱形来表示数字,数字越大,柱形就越高
假设现在有如上图所示的输入数据,那么我们的目标就是将它们像下图一样,按从小到大的顺序从左边开始依次排列。
如果只有 10 个数字,手动排序也能轻松完成,但如果有 10 000 个数据,排序就不那么容易了。这时,使用高效率的排序算法便是解决问题的关键。
各种各样的排序算法
由于排序是一个比较基础的问题,所以排序算法的种类也比较多。本章将在接下来的几节中对各种排序算法进行介绍。在接下来的说明中,输入的数字个数都设定为 n。为了便于讲解,同一个例子中不会出现相同的数字,但实际上,即使有相同的数字,算法依然可以正常运行。排序算法可以分为内部排序和外部排序
内部排序是数据记录在内存中进行排序
外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存
常见的内部排序算法有:冒泡排序、选择排序、插入排序、希尔排序、快速排序、归并排序等
不积跬步,无以至千里;不积小流,无以成江海