#include <iostream>
using namespace std;
//交换变量值函数模板
template<class T>
void swapTemp(T &a, T &b)
{
T tmp = a;
a = b;
b = tmp;
}
//打印数组元素模板
template<class T>
void printTemp(T array[], int num)
{
int i = 0;
for (i = 0; i<num; i++)
{
cout<<array[i]<<" ";
}
cout<<endl;
}
//数组元素排序模板
template<class T>
void sortTemp(T array[], int num)
{
int i = 0;
int j = 0;
int max = 0;
for (i = 0; i<num-1; i++)
{
max = i; //假设最大元素下标为i
for (j = i+1; j<num; j++) //循环找出最大值
{
if (array[max] < array[j])
{
max = j;
}
}
if (max != i) //max!=i,说明遇到比下标i元素更大的值,需要交换
{
swapTemp(array[i], array[max]);
}
}
}
void test1()
{
int array[]={3,6,9,8,0,4, 2, 1};
int num = sizeof(array)/sizeof(int);
sortTemp(array, num);
printTemp(array,num);
char str[]="bacdef";
int num1 = sizeof(str)/sizeof(char);
sortTemp(str, num1);
printTemp(str,num1);
}
int main()
{
test1();
return 0;
}
C++ 函数模板使用实例
最新推荐文章于 2022-09-06 22:40:36 发布