求做C++程序
来源:百度知道 编辑:UC知道 时间:2024/06/20 21:55:09
对数组进行排序,求最大值,求和。要求用模版法实现,每行加注释,6月11日前完成
#include <iostream>
using namespace std;
// 选择法排序
template<typename Type>
void asort(Type a[], int s)
{
int i, j, k;
Type t;
for (i = 0; i < s-1; ++i)
{
k = i;
for (j = i + 1; j < s; ++j)
{
// < 降序, > 升序
if (a[k] < a[j])
{
k = j;
}
}
if (k != i)
{
t = a[i];
a[i] = a[k];
a[k] = t;
}
}
}
// 获取最大值
template<typename Type>
Type max(Type a[], int s)
{
int i;
Type m = a[0];
for (i = 1; i < s; ++i)
{
if (m < a[i])
m = a[i];
}
return m;
}
// 计算总和
template<typename Type>
Type sum(Type a[], int s)
{
Type r = a[0];
int i;
for (i = 1; i < s; ++i)
r += a[i];
return r;
}
voi