02:函数模板排序
普通排序编程:
.cpp文件
#include<iostream.h>
using namespace std;
//template<typename T> //告诉编译器要泛型编程了,不要随便报错
int mysort(int *array, int size)
{
int tmp;
if(array == NULL)
{
return -1;
}
//冒泡排序
for(int i = 0; i<size; i++){
for(int j = i; j<size; j++)
{
if(array[j] = array[i])
{
tmp = array[i];
array[i] = array[j];
array[j] = tmp;
}
}
}
retrun 0;
}
int myprint()
{
int i;
for(i = 0; i < size; i++)
{
cout <<"array[i]"<<' ';
}
return 0;
}
//函数模板调用
void main()
{
int myarray = {11,33,34,44,33,22,2,3,5,9};
int size = sizeof(myarray)/sizeof(*myarray); //取数组大小
//调用函数
mysort(array, size);
myprint(array,size);
cout<<"hello world"<<endl;
system("pause");
return;
}
函数模板 泛型编程:
#include<iostream.h>
using namespace std;
template<typename T, typename T1> //告诉编译器要泛型编程了,不要随便报错
int mysort(T *array, T1 size)
{
int tmp;
if(array == NULL)
{
return -1;
}
//冒泡排序
for(int i = 0; i<size; i++){
for(int j = i; j<size; j++)
{
if(array[j] = array[i])
{
tmp = array[i];
array[i] = array[j];
array[j] = tmp;
}
}
}
retrun 0;
}
template<typename T, typename T1> //告诉编译器要泛型编程了,不要随便报错
int myprint(T *array, T1 size)
{
T1 i;
for(i = 0; i < size; i++)
{
cout <<"array[i]"<<' ';
}
return 0;
}
//函数模板调用
void main()
{
int myarray = {11,33,34,44,33,22,2,3,5,9};
int size = sizeof(myarray)/sizeof(*myarray); //取数组大小
//调用函数
mysort<int, int>(array, size);
myprint<int, int>(array,size);//不同类型也可myprint<char, int>
cout<<"hello world"<<endl;
system("pause");
return;
}