avatar
Articles
37
Tags
29
Categories
8
Home
Posts
Publications
Categories
Tags
About
Friends
OS Docs
Quant Trading Docs
Puxuan's Blog
Home
Posts
Publications
Categories
Tags
About
Friends
OS Docs
Quant Trading Docs

Puxuan's Blog

C++ write your own STL - Utility
Created2025-10-07|C++ GuruSTL
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115#ifndef MY_UTILITY_H#define MY_UTILITY_Hnamespace mystl{// remove_referencetemplate <class T> struct remove_reference {using type = T;};template <class T> struct remove_reference<T&> {using type = T;};template <...
CF 刷题记录
Created2025-10-07|Coding Practice刷题
记录自己在 CodeForce 上的刷题节奏、思路沉淀与反思,方便复盘和查缺补漏。 刷题目标 每周至少完成 5 道不同类型的题目,关注题型覆盖面而非刷题数量 优先补齐弱项(图论、动态规划、数据结构设计等) 输出简洁题解与时间 / 空间复杂度分析 2025 Week 1 题目 难度 题型 思路小结 复盘 链接 Gravity Falls 1800 贪心 + 排序 通过贪心策略,排序后选择最优解 ✅ 完成 https://codeforces.com/problemset/problem/2148/F 模板:题目记录123456### 题目:<题目名>- 难度:- 标签:- 提交日期:- 题解:核心思路 + 复杂度分析- Review:未来需要注意的坑 or 可优化点 总结 每周回顾时,记录这一周遇到的典型问题与收获 标注卡壳较久的题目,单独开小抄或强化练习
C++ write your own STL - List
Created2025-10-07|C++ GuruSTL
在 MyList 里,我们定义了: 1node_ptr head_; 它不是存放用户数据的节点,而是一个 特殊的空节点 —— 就叫 sentinel(哨兵)。它用来简化边界处理。传统链表在插入、删除时需要考虑很多“特殊情况”: 如果在头部插入怎么办? 如果在尾部删除怎么办? 如果链表是空的怎么办? 有了 sentinel,一切都变统一了 sentinel 的结构 当链表为空时: 123456+---------+| head_ | |---------|| prev → |───┐| next → |───┘+---------+ 当链表有元素时,比如 [A, B, C]: 1head_ <-> A <-> B <-> C <-> head_ 也就是说: head_->next 指向第一个元素节点 head_->prev 指向最后一个元素节点 head_ 本身不存数据,仅作为“循环起点”使用 iterator for my list, should be bidiractional ite...
C++ write your own STL - Vector
Created2025-10-06|C++ GuruSTL
iterator for vector(对于ector来说, iterator可以直接复用基类的base iterator, 因为迭代模式是随机访问的, 并且vector的内存布局是连续的, 所以vector的iterator可以复用base iterator)iterator之后就是my_vector具体实现。 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869// =========== vector iterator ===========template <typename T>class vector_iterator : public mystl::iterator<random_access_iterator_tag, T> {public: using iterator_type = T*; using iter...
C++ write your own STL
Created2025-10-06|C++ GuruSTL
My stl implementation code in c++ can be found here: my_stl 一、STL 六大组件体系 组件 说明 示例 Allocators 内存分配器,管理对象生命周期 std::allocator Containers 容器,存储数据 vector, list, map Iterators 迭代器,统一访问接口 RandomAccessIterator, BidirectionalIterator Algorithms 泛型算法 sort, find, copy Adapters 容器适配器 stack, queue, priority_queue Functors / Traits 函数对象、类型萃取工具 less, iterator_traits 二、项目分层设计1️⃣ 基础层:类型萃取与工具 ccstl::type_traits: is_integral, remove_reference, enable_if ccstl::utility: move, forward, swap,...
Hello World
Created2025-09-18
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub. Quick StartCreate a new post1$ hexo new "My New Post" More info: Writing Run server1$ hexo server More info: Server Generate static files1$ hexo generate More info: Generating Deploy to remote sites1$ hexo deploy More info: Deployment
(TEST) C++ 知识记录
Created2024-05-14|C++ Guru
整理日常使用 C++ 时的语法要点、标准库技巧与工程实践经验,便于快速查阅与复习。 语言基础 关键字速查表(constexpr、noexcept、concept 等) 常见陷阱:窄化转换、悬垂引用、未定义行为 初始化策略:聚合初始化、列表初始化与构造函数优先级 现代 C++ 技法 特性 使用场景 示例 注意事项 std::optional 显式表达可空返回值 return std::nullopt; 避免在热路径频繁构造拷贝 std::ranges 管道式算法组合 views::filter + views::transform ranges 头文件包含与编译器支持 协程 (co_await) 异步执行与生成器 task<int> 自定义调度器 & 生命周期管理 模板:知识卡片12345### 主题:<概念 / API>- 摘要:核心定义或直观描述- 示例:代码片段,突出最佳实践- 细节:性能、异常安全、跨平台兼容性- TODO:需要进一步实验或补充的点 调试与性能 常用工具链:perf、valgrind、sanitize...
1…34
avatar
Puxuan
Articles
37
Tags
29
Categories
8
Follow Me
Announcement
This is my Blog
Recent Posts
Rust OS2025-11-05
CF 817 E - Choosing The Commander2025-11-03
CF 817 F2025-11-03
C++ STL Unordered Map and Set2025-10-31
LeetCode 32 Longest Valid Parentheses2025-10-27
Categories
  • C++ Guru13
    • STL11
    • smart pointer1
  • Coding Practice22
    • CF8
    • leetcode12
    • 刷题2
  • OS1
Tags
C++NotesLeetCode算法STLCodeForcesbinary searchgreedydata structurebacktrackingDFSmonotonic stack单调栈setBFSptrsliding windowpriority queuelinked listtwo pointersDynamic ProgrammingStacktrie-tree字典树prefix tree线段树segment treeRustOS
Archives
  • November 2025 3
  • October 2025 32
  • September 2025 1
  • May 2024 1
Website Info
Article Count :
37
Unique Visitors :
Page Views :
Last Update :
© 2025 By PuxuanFramework Hexo 7.3.0|Theme Butterfly 5.5.1