⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 getpermute.m

📁 离散算法
💻 M
字号:
function [out_permute] = getPermute(in_values, in_first, in_jobCount)
%  输入:
%     in_values:   需排列的元素,(1 × valueCount)维
%  输出:
%     out_permute: 得到的全排列,(perCount × valueCount)维
out_permute = [];
valueCount = size(in_values, 2);
if (valueCount == in_jobCount-1)
    strcat('开始枚举 ' , num2str(in_first), '...')    
end

if (valueCount == 1) % 递归结束
    out_permute = in_values;
else
    for (iValue = 1: valueCount)
        firstVal = in_values(1, iValue);
        newValues = in_values;
        newValues(:, iValue) = [];
        newPermute = getPermute(newValues, firstVal, in_jobCount);
        perCount = size(newPermute, 1);
        curPermute = [ones(perCount, 1) * firstVal, newPermute];
        out_permute = [out_permute; curPermute];
    end   
end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -