选择排序法-Selection Sort
一、O(n 2 )的排序算法 (1)基础 (2)编码简单,易于实现,是一些简单情景的首选 (3)在一些特殊情况下,简单的排序算法更有效 (4)简单的排序算法思想衍生出复杂的排序算法 (5)作为子过程,改进更复杂的排序算法 二、选择排序-Selection Sort (1)对下面数组从小到大排序 (2)找到数组中最小的元素1和第一个位置8进行交换,此时1这个元素就已经在最终数组排好序的位置了 (3)此时,找数组中第二小的元素为2,和当前数组第一个没有排序的位置的元素6进行交换,此时元素2也已经归位,以此类推 【代码】 <selection_sort.cpp> # include <iostream> # include <algorithm> # include <string> # include "Student.h" # include "SortTestHelper.h" using namespace std ; //选择排序核心代码 template < typename T > void selectionSort ( T arr [ ] , int n ) { for ( int i = 0 ; i < n ; i ++ ) { //寻找[i,n)区间里的最小值 int minIndex = i ; for ( int j = i + 1 ; j < n ; j ++