令P[1 : n]为1到n(n>1)的整数置换。
设i=1,2,3,4,5,6,7
P[i] = {4,7,3,2,1,5,6},描述P[i]的巡回置换算法。
代码:
1 #include <bits/stdc++.h> 2 using namespace std; 3 int main() 4 { 5 int x,k; 6 k = 1; 7 int p[8]; 8 for(int i = 1;i <= 7;i++) 9 { 10 cin>>p[i]; 11 } 12 while(k<=7) 13 { 14 cout<<"K="<<k<<endl; 15 x = k; 16 do 17 { 18 cout<<x<<" "; 19 x = p[x]; 20 }while(x!=k); 21 cout<<endl; 22 k+=1; 23 } 24 return 0; 25 }
为方便观察,多了几步输出。