ObjectARX递归AcArray数组组合函数

本文介绍了如何在ObjectARX中使用递归AcArray数组组合函数,提供了函数模板源码,并通过AcGeIntArray的实例展示了其用法,还包括了组合函数的结果展示。
摘要由CSDN通过智能技术生成

ObjectARX递归AcArray数组组合函数

图文by edata  , 转载注明出处 http://www.cnblogs.com/edata 

ObjectARX QQ群: 630401507 (仅ObjectARX)
AutoCAD.net QQ群: 193522571 (ObjectARX\AutoLisp\AutoCAD.net)

函数源码

 为了通用,写为函数模板.代码如下

    // 指定组合数量递归函数模板(1 2 3) n=1 => (1) (2) (3) n=2 => (1 2) (1 3) (2 3)
    template <class T>
    static AcArray<T> combination(T arr,int m)
    {
        AcArray<T> arrs;
        if (arr.length()>0 && m > 0)
        {
            T cdr=arr;
            cdr.removeFirst();            
            AcArray<T> tmparrs1=combination(cdr,m-1);
            if (tmparrs1.isEmpty() && m ==1)
            {
                T tmp;
                tmp.append(arr.first());
                arrs.append(tmp);
            }
            else
            {
                for (int i=0;i<tmparrs1.length();i++)
                {          
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值