C/C++教程

C++ 函数模板使用实例

本文主要是介绍C++ 函数模板使用实例,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

#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++ 函数模板使用实例的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!