生活中无处不在都是被排序过的东西,电子邮箱中的邮件按时间来排序,考完试后出了成绩也会进行一定的排序。在面试中,排序算法也是层出不穷,从简单的冒泡排序问到快速排序,再问到堆排序,希尔排序……现在,让我们开启排序之旅吧~
说到排序,给出了一定的数据,我们最容易想到的,其实并不是冒泡,也并不是快速等排序法,为什么?这些算法虽然有效率上或者思想上的优势,但,如果只是将一堆凌乱的数据放在你面前,第一反应,目的只是将它排序排好,至于什么方法,有什么样的效率,是不会去思考的,因为,如果你连最基础的排序都想不出来的话,又从哪里去思考如何提高效率呢?
假设现在在面前的凌乱的数据有:5,2,4,1,8,10,3
数据结构中的算法先撇开,从我们最基础的思维来做,只需借助一个一维数组就可以解决这个问题,此处,记得先忽略空间上的浪费情况,我们的目的是用一维数组完成排序的操作……
定义一个大小为11的数组: int[] num = new int[11];
1 int[] num = new int[11];