@[TOC]十大排序算法
冒泡,选择,插入,希尔,归并,快速,桶,堆,计数,基数,十大算法
冒泡:两两依次比对,一轮之后,最大的就在最后,再一轮,次大的就在倒数第二个,依次遍历,排序完成 选择:所有数组中选择最小的放在第一个,然后在剩下的当中,再选择一个最小的排在第二,依次循环,结束后排序完成 插入:默认第一个数据是排序好的,加入一个,在这两个中做一次排序,排序完后,再加入一个,再在这三个当中做一次排序,再加入一个,再依次排序
目标数据,分割开来,分别使用,冒泡,选择,插入,然后再合并 桶:依据一定顺序,指定若干个桶,把数据分别放放入桶中,然后在每个桶内进行排序,再根据桶结构,依次取出,排序完成 归并:两个先排序,三四再排序,然后,1、2再和3、4合并一起排序,然后再,5、6排序然后再7、8排序,然后再5、6和7、8排序、然后再1234和5678排序 循环完成,排序结束 计数:创建一个最小到最大的组,值相等的,放在一个组,放完,再依次取出,排序完成 基数:创建0-9的组,先按个位排序,依次取出,再按十位排序,再依次取出,排序完成
希尔:总数组分N段,各段内分别插入排序,排序完成后,再对所有分段进行插入排序。然后排序结束 快速:选一个基准数据,讲数据分为两段,前面小于基准,后面大于基准,然后再分别对前后两段再进行快速,一次循环,遍历完,排序结束 堆:根据数据结构,构造大顶堆,然后把大顶堆和最后一个数据互换位置,然后堆化大顶堆,堆化完成,再将堆顶和倒数第二个数据互换位置,然后再堆化,堆化完成后,再将堆顶和倒数第三个数字互换位置,再堆化,依次循环,结束后,排序完成