天气与日历 切换到窄版

 找回密码
 立即注册
中国膜结构网
十大进口膜材评选 十大国产膜材评选 十大膜结构设计评选 十大膜结构公司评选
查看: 74|回复: 0

‎仅使用 AutoLisp,在重复条目列表上实现运行长度编码 (R...

[复制链接]
  • TA的每日心情
    开心
    2024-8-31 15:58
  • 签到天数: 89 天

    [LV.6]常住居民II

    488

    主题

    207

    回帖

    3366

    积分

    管理员

    积分
    3366
    发表于 2024-6-22 09:46:18 | 显示全部楼层 |阅读模式
    Example:
    (encode-rle-list '(a a a a b c c a a d e e e e))
    > ((4 A) B (2 C) (2 A) D (4 E))

    [code]#include <iostream>
    #include <vector>
    #include <variant>
    #include <string>

    using namespace std;
    using Values = vector<variant<int32_t, double_t, wstring>>;

    int main()
    {
            const Values l =
            {
                    L"a", L"a", L"a", L"a", L"b", L"c", L"c", L"a",
                    L"a", L"d", L"e", L"e", L"e", L"e", 4, 4, 4, 4, 5.75
            };
            auto i = l.begin(), in = i, e = l.end();
            while (in != e) {
                    auto n = 1;
                    while (++in != e && *i == *in) {
                            n++;
                            i++;
                    }
                    if (n == 1)
                            visit([](auto&& x) {std::wcout << x; }, *i);
                    else
                            visit([&](auto&& x) {std::wcout << '(' << n << ' ' << x << ')'; }, *i);
                    i = in;
            }
            cin.get();
    }
    [/code]

     

     

     

     

    ‎仅使用 AutoLisp,在重复条目列表上实现运行长度编码 (R...
    中国膜结构网打造全中国最好的膜结构综合平台 ,统一协调膜结构设计,膜结构施工,膜材采购,膜材定制,膜结构预算全方位服务。 中国空间膜结构协会合作单位。
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|Archiver|手机版|中国膜结构网|中国膜结构协会|进口膜材|国产膜材|ETFE|PVDF|PTFE|设计|施工|安装|车棚|看台|污水池| |网站地图

    GMT+8, 2024-9-8 10:49 , Processed in 0.069973 second(s), 27 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表