当前位置:文档之家› 算法文字描述及流程图样例

算法文字描述及流程图样例

调用Perm(list,k+1,m)函 数
交换list中第i个和第k 个元素
i++
打印list中0~m的元素 N
返回
Perm函数程 序流程图
函数perm(int list[],int k,int m)的流程图
算法文字描述样例
如果我们希望实现n个数的全排列,可以采用下面的算法实现: 设list[n]表示数组list中有n个待全排列的数,list[k]表示list中第 k个数,list[m]表示list中第m个数,设函数perm(int list[],int k,int m) 实现list中从第k个到第m个数的全排列。K的初值为0,m的初值为 n-1。则perm函数的实现过程如下: 1. 如果k==m, 则打印list中从0到m的数,函数返回。否则继 续。
2. 设整形变量i从k变化到m,i每变化一次增加1,且执行如下操作: (1) 交换list中第k个和第i个元素; (2) 递归调用perm(list,k+1,m)函数; (3) 交换list中第i个和第k个元素; 3. 当i>m时,函数返回。
开始
K=m?
Y
N
Y
定义数i=0
i<=m?
交换list中第k个和第i 个元素
相关主题