code-segment icon indicating copy to clipboard operation
code-segment copied to clipboard

代码集和收藏项目目录。包括数据结构,算法,练习等的简单实现以及收藏项目列表。

code-segment

聚集一些平时写的或搜集的一些有用的或有意思的代码片段.

安装

  • PHP安装

    • composer.json文件的require中添加 "2lovecode/code-segment" : "dev-master"
    • 执行composer update
    • Php文件夹中的部分类您可以在自己的项目中通过自动加载使用,其它语言片段文件仅供查看参考.
  • 暂不支持其它语言包管理器的安装,您可以直接git clone [email protected]:2lovecode/code-segment.git 直接下载.

  • Go语言(Go) 已迁移至 graffito

  • C语言(C) 已迁移至 graffito-c

目录:

  • [x] Php:
    • [x] AttributesChangeLog:记录参数的一个类,该类实例化的对象可以持有一个参数池,所有出现在这个参数池中的参数都可以跟踪其值的变化.

    • [x] BloomFilter:布隆过滤器

    • [x] Container:依赖注入容器(DI)的实现(copy from laravel)

    • [x] DataStructureAndAlgorithm:数据结构和算法

      • [x] BPlusTree : B+树

      • [x] BTree : B树

      • [x] Hash : Hash表实现

      • [x] Heap : 堆实现

        • [x] MaxHeap : 最大堆
        • [x] MinHeap : 最小堆
      • [x] PageRank : 网页排名-简单PageRank实现

      • [x] RedBlackTree : 红黑树实现

        • [x] RedBlackTree : 红黑树实现
      • [x] SkipList : 跳跃表实现

        • [x] SkipList : 跳跃表实现
      • [x] Sort : 排序算法

        • [x] CompareSort : 比较类排序
          • [x] InsertSort : 插入类排序
            • [x] InsertSort : 插入排序
            • [x] ShellSort : 希尔排序
          • [x] MergeSort : 归并类排序
            • [x] MergeSort : 归并排序
          • [x] SelectSort : 选择类排序
            • [x] HeapSort : 堆排序
            • [x] SimpleSelectSort : 简单选择排序
          • [x] SwapSort : 交换类排序
            • [x] BubbleSort : 冒泡排序
            • [x] QuickSort : 快速排序
        • [x] NoCompareSort : 非比较类排序
          • [x] BucketSort : 桶排序
          • [x] CountSort : 计数排序
          • [x] RadixSort : 基数排序
    • [x] DesignPatterns:一些设计模式的示例

      • [x] Adapter : 适配器模式
      • [x] Command : 命令模式
      • [x] Composite : 组合模式
      • [x] Decorator : 装饰者模式
      • [x] Facade : 门面模式
      • [x] Factory : 工厂模式
      • [x] Iterator : 迭代器模式
      • [x] Observer : 观察者模式
      • [x] Pipeline : 管道模式
      • [x] Proxy : 代理模式
      • [x] Singleton : 单例模式
      • [x] State : 状态模式
      • [x] Strategy : 策略模式
      • [x] TemplateMethod : 模板方法模式
    • [x] FileOperation:php操作目录和文件的一些示例

      • [x] DirTranverse : 非递归方式实现目录数量统计
      • [x] ExcelColIncrease : excel列标识自增方法
      • [x] GenerateBigFile : 大文件生成
    • [x] FilterSensitiveWord:敏感词过滤实现

      • [x] FilterSensitiveWord : 简单的基于DFA算法的敏感词过滤第一版 博客地址
      • [x] FilterSensitiveWord_2 : 简单的基于DFA算法的敏感词过滤第二版 博客地址
    • [x] HyperLogLog : 模拟redis的HyperLogLog数据结构

    • [ ] InterestingQuestion : 一些有趣的需要使用数据结构和算法解决的问题[NEW][UNITTEST]

      • [ ] Stack : 栈相关
        • [x] StackWithGetMin : 可以以O(1)获取最小值的栈实现
    • [x] LaravelTest : 依据Laravel框架中一些机制的实现原理,写的一些实现demo

      • [x] MiddleWare : 依据MiddleWare的实现原理,实现的一个简单demo
    • [x] PhpSyntaxTestCode:一些php的语法的测试示例

      • [x] TestData : 测试数据
      • [x] ThrowableTest : Throwable类测试
      • [x] ArrayReduce : array_reduce函数测试
      • [x] CloneSyntax : clone语法测试
      • [x] FileOperation : 文件操作测试
      • [x] GetFileLastNumRow : 或取文件最后一行代码测试
    • [x] SimpleContainer:DI容器简单实现

    • [x] SimpleDataBase:php实现的一个简单的key-value数据库

    • [x] SimpleRandom : 简单的页面随机抽取实现

    • [ ] Tests : 单元测试代码

    • [x] TransformDataPieces:将crontab的配置,例如: * * * * *,分解为散列的时间片段,实现定时功能

    • [x] UrlShortener : url短链接生成策略

      • [x] AutoIncreaseShortener : 自增序列法
      • [x] Md5Shortener : 摘要法
    • [x] UsefulTools:一些有趣的工具

  • [x] Awk : awk语言
    • [x] Calendar : 日历实现
    • [x] InterActiveStrReplace : 实时接收输入并输出
    • [x] PersonInfo : 简单数据库实现,以个人信息为模型
  • [x] C : ~~c语言~~ 已迁移至 :triangular_flag_on_post: graffito-c
    • [x] Calculator : 计算器实现
    • [x] DataStructureAndAlgorithm : 数据结构和算法
      • [x] dict_order : 字典序问题
      • [x] queue : 队列实现
      • [x] skip_list : 跳跃表实现【参考redis实现】
      • [x] stack : 栈实现
    • [x] GetLineOperation : 读取标准输入
    • [x] PatQuestionBank : PAT能力考试真题题库解答 https://www.patest.cn/practice
    • [ ] AdvancedLevel : 甲级真题
    • [ ] BasicLevel : 乙级真题
    • [ ] TopLevel : 顶级真题
    • [x] RedisSourceCodeDemo : 仿照redis(v5)源码写的一些帮助理解的demo
      • [x] SDS : 简单动态字符串SDS的简单实现
    • [x] SwapValue : 值交换
  • [x] Go : ~~Go语言~~ 已迁移至 :triangular_flag_on_post: graffito
    • [x] Timer : 基于redis zset list 实现的定时器.
  • [x] JavaScript : JavaScript
    • [x] TencentMapApi : 腾讯地图api示例
    • [x] Tools : 一些自己写的实用工具集合[序列化 反序列化 手机IMEI生成器]
  • [x] Shell : Shell脚本
    • [x] AutoConfigLnmpWebSite : 自动配置lnmp环境站点
  • [ ] ResourceCollection : 一些资料资源的集合(我是图书馆,只管收藏,从不看...)

README 使用

  • 最外层展示所有层的目录树状结构,描述较简略
  • 各层目录下,只展示当前层包含的目录,描述较详细


收集的一些项目资源地址

Golang
Rust
C
Rust
Python
PHP
Java
Javascript
编辑器or方便的工具和插件
图像&视频处理
机器学习&人工智能&大数据
操作系统
学习教程
树莓派
其他