V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
arobota
V2EX  ›  程序员

leetcode 刷题专用的一个 c 数据结构库

  •  
  •   arobota · 2020-08-12 17:40:06 +08:00 · 2667 次点击
    这是一个创建于 1325 天前的主题,其中的信息可能已经有所发展或是发生改变。

    鉴于 c 写 leetcode 没有动态的数据结构,自己写了一个 https://github.com/LeoSirius/meta_c

    目前实现了:

    • 动态数组
    • 队列
    • 双端队列

    主要是用在了下面这个题解中。300 多道,以 c++和 python 为主。c 在陆续补充中。 https://github.com/LeoSirius/leetcode_solutions

    10 条回复    2020-08-13 09:37:49 +08:00
    InkStone
        1
    InkStone  
       2020-08-12 17:49:33 +08:00
    我比较好奇,为什么不用 C++呢……
    arobota
        2
    arobota  
    OP
       2020-08-12 17:51:30 +08:00
    @InkStone 当然是为了用 c 刷 leetcode ( zhuangbi )
    mightofcode
        3
    mightofcode  
       2020-08-12 19:22:53 +08:00
    java 好
    chenyu0532
        4
    chenyu0532  
       2020-08-12 19:26:26 +08:00
    js 好
    raaaaaar
        5
    raaaaaar  
       2020-08-12 21:17:07 +08:00 via Android
    学数据结构和学算法是不是要分开学,学数据结构需要全部自己撸才行。而学算法,用库更方便吧。
    SingeeKing
        6
    SingeeKing  
       2020-08-13 00:36:50 +08:00
    还差个哈希表…… 这是我当年决定放弃用 C 刷 lc 的原因
    CismonX
        7
    CismonX  
       2020-08-13 03:37:43 +08:00
    @SingeeKing

    事实上 POSIX 提供了哈希表支持: https://pubs.opengroup.org/onlinepubs/009695399/functions/hcreate.html

    有个硬伤,就是一次只能同时使用一个哈希表。。

    好在有 GNU 扩展,可以同时使用多个哈系表: https://www.gnu.org/software/libc/manual/html_node/Hash-Search-Function.html
    见 "_r" 后缀的函数
    weixiangzhe
        8
    weixiangzhe  
       2020-08-13 08:09:20 +08:00 via Android
    感觉还是 python 刷起来方便
    MikeFeng
        9
    MikeFeng  
       2020-08-13 08:19:37 +08:00
    还是上 C++吧,以后还能教你孩子打比赛
    LazyWolfLin
        10
    LazyWolfLin  
       2020-08-13 09:37:49 +08:00
    天天造轮子。。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2885 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 14:20 · PVG 22:20 · LAX 07:20 · JFK 10:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.