计算机操作系统巡回置换算法

令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 }

为方便观察,多了几步输出。

原文地址:https://www.cnblogs.com/CS-WLJ/p/11186051.html