#include<iostream>usingnamespace std;voidreverse(int a[],int m,int n){if(m < n){swap(a[m], a[n]);reverse(a, m +1, n -1);}}voidswap(int& m,int& n){int t = m;
m = n;
n = t;}voidprint(int a[],int n){for(int i =0;i < n;i++){
cout << a[i]<<" ";}}intmain(){int a[]={1,2,3,4,5,6,7,8,9,10};reverse(a,0,9);print(a,10);return0;}
#include<iostream>usingnamespace std;voidprint(int a[],int n){if(n >0){print(a, n -1);for(int i =0;i < n;i++){
cout << a[i]<<" ";}
cout <<"\n";}}intmain(){int a[]={1,2,3,4,5,6,7,8,9,10};print(a,10);return0;}
汉诺塔问题
#include<iostream>usingnamespace std;voidHanoi(int n,char A,char B,char C){if(1== n){
cout <<"将编号为1的盘子直接从"<< A <<"柱子移到"<< C <<"柱子\n";}else{Hanoi(n -1, A, C, B);
cout <<"将编号为"<<n<<"的盘子直接从"<< A <<"柱子移到"<< C <<"柱子\n";Hanoi(n -1, B, A, C);}}intmain(){Hanoi(3,'A','B','C');return0;}