两个异曲同工的排列组合程序program1#include#include#include#includetemplatevoid swap(T& a,T& b){
T c;
c=a;
a=b;
b=c;}templatevoid perm(T* s,int k,int m,int& num){
for(int i=k;i>s;
DWORD time=GetTickCount();
perm(s,0,strlen(s)-1,num);
time=GetTickCount()-time;
cout#include#includevoid formturn(int index,char * s,char * mys,int& num)
{
char * s1=new char [30];
char tmp;
unsigned int i;
for( i=0;i>s;
DWORD time=GetTickCount();
strcpy(mys,s);
formturn(0,s,mys,num);
time=GetTickCount()-time;
if(time<=10)
cout<<"程序运行的时间小于10ms"<<endl;
else
cout<<"程序运行的时间是"<<time<<"ms"<<endl;
cout<<endl;
cout<<"不同的组合序列数为"<<num<<endl;
getchar();} |