常见排序方式

冒泡排序:

重复的走访需要排序的数,依次比较两个数字,将一个小的值换到大值前面。每一次比较以后,就会有一个Maxmin到了最前面。然后再用相同的方式比较剩下的数字

选择排序:

这个最简单。我们平时一般都是这么排序的。从一堆数字中找出最小的,放到第1个位置,然后再从剩下的数字中找出最小的,放到第2个位置。。。。。,一个流程下来,从小到大就有了排序了

插入排序:

类似于军训排队(从高到矮)。首先一堆人无序的站一队,以第1个人为起点,第2个人和第1个比较,假如矮了,就不需要交换位置,然后第3个人和第2个人比较,假如高了,就继续和第1个人进行比较假如还是高了,那么就和第1个人交换位置。然后第4个人和第3个人比较,假如更加矮,那就不要动。轮到第5个人去再去和第4个人比较。。。。一直到最后一个人,这个有序的队列就出啊来

堆排序:


归并排序:


快速排序:

丛一堆数字中把最后一个数字做为基准数字p,然后从最左边的数字中找到一个大于这个基准数字的数字L就停下来,然后从最右边的数字往左边对比,找到一个小于基准数字p的数字R就停下来。这个时候交换L和R。假如到了某次LR相遇,就需要将LR相遇的那个数字和P交换位置,然后这个数组被切成2对AB,A和B对重新使用相同的方法选择P,和L/R数字。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容