基础排序算法——选择排序


基础排序算法——选择排序


选择排序需要定义额外的变量来保存元素信息。采用选择排序,我们需要定义一个变量minIndex用于保存数组中最小元素的索引。在第一轮遍历过程中,minIndex始终存储数组中数值最小元素的索引,在第一轮遍历结束后,将数组中第一个元素与minIndex位置的元素交换位置,第二轮遍历过程中,minIndex始终存储数组数值第二小的元素索引,遍历结束后将minIndex索引处的元素放置数组第二的位置上,以此类推完成所有排序。选择排序图解如下图所示。


基础排序算法——选择排序

使用选择排序需要使用额外的存储空间,在实现选择排序时,我们要保证每一轮将数组中元素的最小元素放置到数组的头部,依次进行排序。具体算法实现如下面示例所示(Java实现)。


基础排序算法——选择排序


基础排序算法——选择排序

选择排序与冒泡排序有些相似之处,它们都会在第一轮中,将数列中的最小值放到数列的头部。第二轮将数列中剩余最小值放置在数列第二的位置,以此类推完成整个数列的排序。但它们二者的算法是有很大区别的,我们不要将二者算法混为一谈。


分享到:


相關文章: