template<class T> void SelectionSort(T a[], int n) { bool sorted = false; int swapcnt = 0; for (int size = n; !sorted && (size > 1); size--) { int pos = 0; sorted = true; for (int i = 1; i < size; i++) { if (a[pos] <= a[i]) pos = i; else sorted = false; } swapcnt++; Swap(a[pos], a[size - 1]); } cout << "swapcnt = " << swapcnt << endl; }