- 博客(6)
- 收藏
- 关注
原创 Rust踩坑日记(三)Leetcode中的链表
Leetcode中的链表代码实现Leetcode中Rust单链表定义如下://Definition for singly-linked list.#[derive(PartialEq, Eq, Clone, Debug)]pub struct ListNode { pub val: i32, pub next: Option<Box<ListNode>>}impl ListNode { #[inline] fn new(val: i32) ->
2021-10-10 13:28:16
319
原创 Rust踩坑日记(二)Option,Some和None
Option,Some和NoneOption是Rust中核心的枚举类型,其提出是为了让空值得到有效的处理。任何可能为空值的结果都应被处理为Option。Option<T>的值,有Some(T)和None两种。常用的取值方法unwarp()当Some(T)调用时,能将T类型的值取出,若T未实现Copy trait,则发生所有权转移。当None调用时,若在编译阶段,会由编译器报错,无法通过编译;若在运行阶段,程序会Panic。为了防止None调用unwarp(),除了进行None检查
2021-10-04 23:20:47
3151
原创 Rust 踩坑日记(一)堆,栈与Box
堆与栈考虑到跟汇编语言的紧密联系,当我们谈论较底层语言的内存管理时,堆与栈(由于栈的管理是自动进行的,程序员更关心堆)是不可绕开的话题。在C语言中,堆管理依靠程序员手动释放;在Java和Python语言中,堆管理依靠垃圾回收器(GC);而在Rust语言中,堆管理依靠所有权与生命周期机制。关于增长方向在某些书上可能有明确表示,栈是向下增长的,堆是向上增长。这是不正确的。正确的说法是:栈的大小,增长方向等跟CPU体系结构,操作系统,编译器,甚至跟“上”“下”的定义都有关系,很难一概而论。在Rust中,可
2021-10-02 20:24:36
807
转载 Python 之 正则表达式
转载自HUXI的博客1. 正则表达式基础1.1. 简单介绍正则表达式并不是Python的一部分。正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十分强大。得益于这一点,在提供了正则表达式的语言里,正则表达式的语法都是一样的,区别只在于不同的编程语言实现支持的语法数量不同;但不用担心,不被支持的语法通常是不
2017-06-26 21:57:17
287
1
原创 x&(x-1)=?
一个整型数x,和x-1做&与操作,结果相当于:将二进制数 X最右边的1 变成 0比如 9=1001b 9-1=8=1000b1001b&1000b=1000b=8这个方法可以用来快速统计一个数的二进制形态有多少个1。int count = 0;while (x){x=x&(x-1);count++;}
2017-06-19 21:02:36
1285
转载 Python 基础语法与数据类型
1.main函数if __name__=='__main__'当脚本作为执行脚本时__name__的值为__main__当脚本作为模块时__name__为模块文件名。举个例子,a.py作为执行脚本时__name__的值是__main__。有2个脚本,a.py和b.py,a中引入b,执行a.py时,在b中模块的__name__就是b.py2.字符串Python中变量
2017-06-19 20:59:01
419
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人