循环法二:函数体采用fortemplate < class T >T Power(T a, int m)Ty=a,int i;for(i-m-1;i>0;i--)y-y*a,return y,10
法二:函数体采用for 循环 10 template < class T > T Power(T a, int m) { T y = a; int i; for(i=m-1;i>0;i-) y=y*a; return y; }
int main(cout <<"3^5= " <<Power(3, 5)<< endl;cout <<"1.1 ^2= " << Power(1.1, 2) << endl;return 0:A3^5=2431.1^2=1.2111
11 int main() { cout << "3^5= " <<Power(3, 5) << endl; cout << "1.1^2= " << Power(1.1, 2) << endl; return 0; }
例13-5:顺序查找算法算法:顺序查找又称线性查找给定查找的关键学,从表的二端开始,依次查找每个元素、直到查到所指定的完素或到达表的另端。一成功,返回元素下标;不成功,返回-1例:在给定数组中查找指定元素a[0],... ,a[n-1]12
例 13-5: 顺序查找算法 12 算法: 顺序查找又称线性查找,给定查找的关 键字,从表的一端开始,依次查找每个元 素,直到查到所指定的元素或到达表的另 一端。 成功,返回元素下标;不成功,返回-1. 例:在给定数组中查找指定元素 a[0],.,a[n-1]
template < class T >int seq search(T al 1, T k, int n1int i=O;while(k!=a[i]&&i<=n-1)i++;if(i>n-1)return -1;elsereturn i;1f13
13 template < class T > int seq_search(T a[ ], T k, int n) { int i=0; while(k!=a[i]&&i<=n-1) { i++; } if(i>n-1) return -1; else return i; }
int main(1Gint i1[l={3, 2, 5, 0, -1, 7}:double d1[l ={3.3, 2.1, 0.3, 1.5, 10.6, 5.2]char*cl="xjtu";cout <<seq_search(i1, 15, 6)<< endl:cout <<seq search(d1, 3.3,6)<< endl:cout <<seq_search(cl, 'j', 4)<< endl;return O;14
14 int main() { int i1[] ={3, 2, 5, 0, -1, 7}; double d1[] ={3.3, 2.1, 0.3, 1.5, 10.6, 5.2}; char *c1="xjtu"; cout <<seq_search(i1, 15, 6)<< endl; cout <<seq_search(d1, 3.3,6)<< endl; cout <<seq_search(c1, 'j', 4)<< endl; return 0; }