求做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