1 void Swap(ElementType *a, ElementType *b) 2 { 3 ElementType tmp = *a; 4 *a = *b; 5 *b = tmp; 6 } 7 8 //选择排序 9 void SelectionSort(ElementType A[], int N)10 {11 for(int i = 0; i < N-1; ++i)12 {13 int MinPos = i;14 for(int j = i+1; j < N; ++j)15 {16 if(A[j] < A[MinPos])17 MinPos = j; //记录最小值的位置下标18 }19 Swap(&A[i], &A[MinPos]);20 }21 }