|
发表于 2009-11-2 01:41:52
|
显示全部楼层
IP:江苏扬州
-
- #include<iostream>
- using namespace std;
- void Set(char*, int, int);
- void move(char*, int, int);
- int main(){
- char a[5] = {'a','b','c','d','e'};
- Set(a,0,5);
- system("pause");
- return 0;
- }
- void Set(char *a, int l, int m){
- static int n=m, f=l;
- if(l == m)
- for(int j=0; j<2; j++,l--){
- cout<<"{ ";
- for(int i=f; i<l; i++)
- cout<<a[i];
- cout<<" }\n";
- }
- else
- for(int i=0; i<n-l; i++){
- Set(a,l+1,m-i);
- move(a,l,n);
- }
- }
- void move(char *a, int m, int n){
- char tmp = a[m];
- for(int i=m; i<n-1; i++)
- a[i] = a[i+1];
- a[n-1] = tmp;
- }
复制代码
没仔细的试,不想再想了 |
|