#include <iostream.h>
#define N 10
template <typename T>
void selectionsort(T array[])
{
int i ,j , k ;
T t ;
for(i = 0 ; i < sizeof(array)/sizeof(T) - 1 ; i++) //是不是sizeof(array)有问题
{
k = i ;
for(j = k + 1 ; j < sizeof(array)/sizeof(T) ; j++)
if(array[k] > array[j])
k = j ;
if(k != i)
{
t = array[k] ;
array[k] = array[i] ;
array[i] = t ;
}
}
for(i = 0 ; i < sizeof(array)/sizeof(T) ; i++)
cout << array[i] ;
}
void main()
{
int a[N] = {31,22,3,65,67,7, 6,5,87,20} ;
double b[N] = {1.5, 2.5,6.8, 4.3, 65.3, 43.1,40.9,31.5,69.7,54.1} ;
selectionsort(a) ;
selectionsort(b) ;
}
//函数无法运行
//是不是直接将数组作为函数参数的问题
[此贴子已经被作者于2006-5-30 10:16:44编辑过]