冒泡排序:
重复的走访需要排序的数,依次比较两个数字,将一个小的值换到大值前面。每一次比较以后,就会有一个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数字。
网友评论