快速学习选择排序
Posted Java光头
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了快速学习选择排序相关的知识,希望对你有一定的参考价值。
第一次从待排序的数据元素中选出最小(最大)的一个元素,存放在序列的起始位置,然后再从剩余未排序的元素中寻找到最小(大)元素,然后放到上一个最小(大)的元素后边。依次类推,直到未排序的的元素个数为0.
分析
analyze
第一点:对于一个长度为N的数组,外部会进行N-1次排序,内部起始的时候也会进行N-1次排序,但是由于,每一趟排序完成之后,总会有一个元素不参与比较,所以内部每次是进行N-1-i次排序。
第二点:每次选择出最小(大)元素之后,都会依次放到所有未排序的元素前面,并且比较的时候都会从未排序的第一个元素开始比较,所以我们可以发现内部循环变量j是受到外部循环变量i的控制。因此j直接可以定义为j=i+1
以上是关于快速学习选择排序的主要内容,如果未能解决你的问题,请参考以下文章
C# 各种内部排序方法的实现(直接插入排序希尔排序冒泡排序快速排序直接选择排序堆排序归并排序基数排序)