基礎排序算法——選擇排序


基礎排序算法——選擇排序


選擇排序需要定義額外的變量來保存元素信息。採用選擇排序,我們需要定義一個變量minIndex用於保存數組中最小元素的索引。在第一輪遍歷過程中,minIndex始終存儲數組中數值最小元素的索引,在第一輪遍歷結束後,將數組中第一個元素與minIndex位置的元素交換位置,第二輪遍歷過程中,minIndex始終存儲數組數值第二小的元素索引,遍歷結束後將minIndex索引處的元素放置數組第二的位置上,以此類推完成所有排序。選擇排序圖解如下圖所示。


基礎排序算法——選擇排序

使用選擇排序需要使用額外的存儲空間,在實現選擇排序時,我們要保證每一輪將數組中元素的最小元素放置到數組的頭部,依次進行排序。具體算法實現如下面示例所示(Java實現)。


基礎排序算法——選擇排序


基礎排序算法——選擇排序

選擇排序與冒泡排序有些相似之處,它們都會在第一輪中,將數列中的最小值放到數列的頭部。第二輪將數列中剩餘最小值放置在數列第二的位置,以此類推完成整個數列的排序。但它們二者的算法是有很大區別的,我們不要將二者算法混為一談。


分享到:


相關文章: