摘要: 看了APUE的IO部分后,可以实践一下,写个简陋的more命令 more能做什么 more会显示一个屏的内容,在左下角还显示了文件的百分比,如果按空格键,文件的下一屏辉县市,如果按回车则显示下一行内容,如果输入'q',结束现实。 more的基本用法 more filename command | m 阅读全文
posted @ 2020-04-01 22:22 ManateeFan 阅读(194) 评论(0) 推荐(0) 编辑
摘要: -- 取list中的最大值 maxiMum' :: (Ord a) => [a] -> a maxiMum' [] = error "Empty list" maxiMum' [x] = x maxiMum' (x:xs) | x > maxTail = x | otherwise = maxTai 阅读全文
posted @ 2020-03-20 12:01 ManateeFan 阅读(136) 评论(0) 推荐(0) 编辑
摘要: -- 函数名首字母必须小写,可以包含 '来表示该函数严格求值版本(与惰性求值相对) doubleMe x = x + x doubleUs x y = doubleMe x + doubleMe y doubleUs' x y = x * 2 + y * 2 -- 给小于等于100的数乘以2 dou 阅读全文
posted @ 2019-12-14 23:45 ManateeFan 阅读(130) 评论(0) 推荐(1) 编辑
摘要: 实在忍不住,模仿STL写了个阉割版的List,还没加迭代器,等搞完STL源码再说吧。 阅读全文
posted @ 2019-12-14 20:59 ManateeFan 阅读(123) 评论(1) 推荐(0) 编辑
摘要: 摘要 实现了一个string类,包括基本的构造、赋值、判断、大小写等。 String API Constructors Informational Methods Case Methods Stream Operators Accessor Operators Assignment Operator 阅读全文
posted @ 2019-11-25 17:45 ManateeFan 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 前言 在三种情况下,会以一个 object 的内容作为另一个 class object 的初值: object明确初始化 class X{...}; X x; X xx = x; object 被当作参数交与某个函数 extern void foo(X x); void bar(){ X xx; f 阅读全文
posted @ 2019-11-05 20:29 ManateeFan 阅读(305) 评论(0) 推荐(0) 编辑
摘要: BinarySearchTree 二叉搜索树 ​ 二叉查找树(Binary Search Tree)。搜索,插入,删除的复杂度等于树高,O(log(n))。 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它的左、右子树 阅读全文
posted @ 2019-10-26 22:00 ManateeFan 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 对象模型 ​ 当一个类本身定义了虚函数,或其父类有虚函数时,为了支持多态机制,编译器将为该类添加一个虚函数指针(vptr)。虚函数指针一般都放在对象内存布局的第一个位置上,这是为了保证在多层继承或多重继承的情况下能以最高效率取到虚函数表。当vprt位于对象内存最前面时,对象的地址即为虚函数指针地址。 阅读全文
posted @ 2019-10-26 20:29 ManateeFan 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 递归遍历 前序 中序 后序 非递归遍历 前序 ​ 先访问根节点,再将其入栈,以便之后返回,就这样一直遍历到左子树最下面,然后出栈,进入右子树,继续开始遍历。 中序 后序 阅读全文
posted @ 2019-10-26 19:51 ManateeFan 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 带头尾结点的单链表 阅读全文
posted @ 2019-10-24 22:06 ManateeFan 阅读(382) 评论(0) 推荐(0) 编辑