选择排序算法C++模版

#include <iostream> 
#include <ctime>
using namespace std;
template<typename T>
void selectSort(T a, int length)
{
	for (int i = 0; i <= length-2; i++)
	{
		int minIndex = i;
		int minVal = a[i];
		for (int j = i+1; j <=length-1; j++)
		{
			if (a[j] < minVal)
			{
				minIndex = j;
				minVal = a[j];
			}
		}
		swap(a[i], a[minIndex]);
	}
}

int main() 
{ 
    srand(unsigned(time(NULL)));//set 种子  
	int n =100;
	int a[100];  
    //产生随即数组  
    for(int i = 0; i < n; i++)  
    {
      a[i] = rand()%100;
    }
    selectSort(a, n);
    for(int i = 0; i < n; i++)
		cout << a[i] << " "; 
    cout << endl; 

	return 0;
}

  

原文地址:https://www.cnblogs.com/daocaowu/p/3107316.html