简单的三种排序
1,冒泡排序
主要原理:冒泡排序的原理(以递增序为例)是每次从头开始依次比较相邻的两个元素,如果后面一个元素比前一个要小,说明顺序不对,则将它们交换,本次循环完毕之后再次从头开始扫描,直到某次扫描中没有元素交换,说明每个元素都不比它后面的元素大,至此排序完成。
2,选择排序
主要原理:选择排序,从头至尾扫描序列,找出最小的一个元素,和第一个元素交换,接着从剩下的元素中继续这种选择和交换方式,最终得到一个有序序列
3,插入排序
主要原理:将待排序序列中第一个元素看做一个有序序列,把第二个元素到最后一个元素当成是未排序序列,从头到尾依次扫描未排序序列,将扫描到的每个元素插入有序序列的适当位置。
复杂的排序
4,希尔排序
主要原理:希尔排序就是把无序的数组分割成很多的子序列,子序列不是逐段分割的,而是相隔特定增量的子序列,对各个子序列进行插入排序,然后再选择一个更小的增量,将之前排序后的数组按这个增量分割成多个子序列,对各个子序列进行插入排序,不断选择更小的增量,直到增量为1时,再对序列进行一次插入排序,使序列最终成为有序序列,即排序完成