基本思路:从头开始,依次比较相邻的两个元素,把相对大(小)的值,交换给第二个元素,这样循环一次,最大(小)的元素就在最后,如此循环 n - 1次,就有结果。

return arr

基本思路:第一个元素,依次跟后面的元素比较,把相对大(小)的值,交换给第一个元素,这样比较依次,最大(小)的元素就在开头,如此循环,比较第二(345)个元素和后面的元素,循环 n-1 次就有结果。

基本思想:找出最小、最大值,设定桶的数量,遍历数组,按照规则把一定范围内的元素加入特定的桶,每个桶也分别使用排序算法,比如快排,然后循环桶的数量,将各个桶中的数据有序的合并起来,得出结果。

选出一个元素作为基准值,可以选第一个元素。遍历所有的元素,比基准值大的都放在后面分区 greater,不比基准值小的都放在前面分区 less,在递归对着两个分区应用这个排序方法,递归最后得出结果。

以中间元素为分界,划分两个区间,对这两个区间做归并操作,前提认为这两个区间已经各自排序了。

递归操作,在这个两个区间依次按照上面的操作,到最后每个区间就一个元素,肯定是算排序了。

关键是构建堆,比如大顶堆,那么第一个元素就是最大值,然后把第一个元素和最后一个交换,把前面的 n-1 个元素,再次构建最大堆,如此循环。

通过数组构建堆,