咨询2个关于C++模版的实例

来源:百度知道 编辑:UC知道 时间:2024/05/19 12:50:13
1.定义函数模版实现求解三个数的最大数
2.定义函数模版实现数组的冒泡排序

第一题
#include"stdafx.h"
#include<iostream.h>
template<class T>T max(T x,T y, T z)
{return z>(x=x>y?x:y)?z:x;
}
void main()
{ cout<<max(34,56,78);
}
第二题
#include"stdafx.h"
#include<iostream.h>
template<class T>void max(T x[],int n)
{ int i,j;
T temp;
for(i=0;i<n;i++)
for(j=0;j<n-i-1;j++)
if(x[j]>x[j+1])
{ temp=x[j];
x[j]=x[j+1];
x[j+1]=temp;
}
}
void main()
{ int a[10]={3,5,23,1,78,98 ,7, 6, 11,9} ;
double b[10]={2.3,4.5,7.2,1.3,8.7,5.3,9.0,9.4,1.5,1.2};
int i;
max(a,10);
max(b,10);
for(i=0;i<10;i++)
cout<<a[i]<<' ';
cout<<endl;
for(i=0;i<10;i++)
cout<<b[i]<<' ';
cout<<endl;
}

楼上的,冒泡排序不是这样的。建议你看看书。