静革 justme0.com
码龄11年
  • 373,320
    被访问
  • 79
    原创
  • 813,617
    排名
  • 144
    粉丝
关注
提问 私信
  • 加入CSDN时间: 2011-02-26
博客简介:

Justme0的专栏,新个人主页 justme0.com

博客描述:
绘画美 建筑美 编程美
查看详细资料
个人成就
  • 获得122次点赞
  • 内容获得157次评论
  • 获得52次收藏
创作历程
  • 1篇
    2015年
  • 9篇
    2014年
  • 17篇
    2013年
  • 51篇
    2012年
  • 2篇
    2011年
TA的专栏
  • C/C++
    31篇
  • C#/Java
    1篇
  • Mathematics
    7篇
  • Data Structure
    15篇
  • Computer Organ
    3篇
  • OS
    4篇
  • Algorithms
    20篇
  • Number Theory
    4篇
  • Computational Geometry
    1篇
  • Compiler
    2篇
  • ACM
    9篇
  • Source Code
    12篇
  • Coding Style
    1篇
  • Thinking
    9篇
  • STL
    9篇
  • Web
    1篇
  • Linux
兴趣领域 设置
  • 数据结构与算法
    推荐算法
  • 最近
  • 文章
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

LLVM Cookbook

发布资源 2015.08.10 ·
pdf

函数式编程与 C++

这个学期学了一门函数式语言 Coq,是法国人发明的,它与 ML 很像,其实 Coq 的发明主要是受了 ML 的影响。Coq 的语法我就不在这叙述了,有兴趣的朋友可以看这本书 Software Foundations,也就是我们上课用的教材。下面直接看些例子吧。1. map它的功能与 C++ 中的std::transform算法类似,是将f作用在list中的每个元素(元素类型是X)上,返回一个list
原创
发布博客 2015.04.22 ·
3215 阅读 ·
1 点赞 ·
1 评论

C/C++ 中生成特定范围内的随机数

大家在写 C/C++ 程序时,难免会遇到要求获取某个范围内的随机数,我查阅了一些资料后,总结如下。本文分两部分,先介绍 C 语言中与随机数相关的两个函数 srand 和 rand,后介绍 C++ 中的 random 库,每一部分最后会给出生成特定范围内的随机数模板供参考。1 C 语言中的 srand 和 rand1.1 实现下面是 VC 的实现,GCC 的实现比 VC
原创
发布博客 2014.11.27 ·
24846 阅读 ·
3 点赞 ·
1 评论

Effective Modern C++ sample

发布资源 2014.07.24 ·
pdf

C++ 中的 Lambda 表达式

前些天买了本《程序设计语言理论》,看了简介,Lambda 演算贯穿整个理论,尤其在函数式语言中具有重要作用。C++11 中也加入了 Lambda 表达式,下面做个总结。1、一个简单的 Lambda 表达式如下:[] {}这就定义了一个对象,这个对象匿名,记住,Lambda 表达式是对象,不是类型,这很重要!本例中,该对象的类型是 'anonymous-namespace'::<lambda0>,这是编译器给它设的一个类型名。
原创
发布博客 2014.05.08 ·
2328 阅读 ·
3 点赞 ·
0 评论

【算法】第 n 小数 nth_element

STL 中取第 n 小数的算法 nth_element 的函数原型如下template<class RandomAccessIterator>void nth_element(RandomAccessIterator first, RandomAccessIterator nth, RandomAccessIterator last);算法说明:1、功能:执行 nth_element 后,nth 所指位置的元素将是整个区间有序时在该处的元素。对 [first, nth) 中的任意迭代器 i 和 [n
原创
发布博客 2014.04.30 ·
3072 阅读 ·
1 点赞 ·
0 评论

【算法】中位数 median

median 是 STL 内部的算法,用于求三个数的中位数,它将用于 std::sort, std::nth_element 的实现中,快速排序和求第 k 小数算法都用到了划分,选取 pivot 时为“三者取中”,即 *first, *(first + (last - first) / 2), *(last - 1) 三者的中位数,这两个算法后面会介绍。median 的源码如下:templ
原创
发布博客 2014.04.26 ·
6398 阅读 ·
0 点赞 ·
0 评论

【算法】划分 partition

STL 中的划分算法 partition 的函数原型如下template ForwardIterator partition(ForwardIterator first, ForwardIterator last, Predicate pred);四点说明:1、作用:将 [first, last) 中所有满足 pred 的元素置于不满足 pred 的元素前面。2、返回值:设返回的迭代
原创
发布博客 2014.04.25 ·
6561 阅读 ·
2 点赞 ·
0 评论

【算法】插入排序 insertion_sort

准备写个《STL 源码剖析》的读书笔记,开个专栏,名为《STL 的实现》,将源码整理一遍。很喜欢侯捷先生写在封底的八个字:天下大事,必作于细!他在书中写到:我开玩笑地对朋友说,这本书出版,给大学课程中的「数据结构」和「算法」两门授课老师出了个难题。几乎所有可能的作业题目(复杂度证明题除外),本书都有了详尽的解答。然而,如果学生能够从庞大的SGISTL源码中干净抽出某一部份,加上自己的包装,做为呈堂作业,也足以证明你有资格获得学分和高分。事实上,追踪一流作品并于其中吸取养份,远比自己关起门来写个三流作品,价
原创
发布博客 2014.04.22 ·
3072 阅读 ·
9 点赞 ·
1 评论

用有限自动机实现正则表达式的匹配

问题:在主串中查找是否存在正则表达式为 abc*d?e 的匹配,下面用有限自动机的方法查找,该正则表达式的最简 DFA 如下状态转换表如下图所示程序中用二维数组定义如下#define STATES_NUMBER 5#define LETTER_NUMBER 5// 表示 abc*d?e 的最简 DFA 的状态转换表(-1表示不接受)int trans_table[STA
原创
发布博客 2014.03.08 ·
7918 阅读 ·
7 点赞 ·
0 评论

C 语言中模拟“泛型”

一般在写 C 程序时用 typedef 将容器中元素的类型抽象,无法在同一个程序中用到两种类型,而本文试图在一个程序中用到两种不同类型的容器,比如实现类似于 C++ 中的 vector 和 vector。核心技术是将元素类型定义为 void *,管它什么类型,都用 void * 类型的指针指向真正的数据,与此同时,类型的大小是个重要信息,比如一般地,char 为1个字节,double 为4个字节。
原创
发布博客 2014.02.07 ·
3542 阅读 ·
11 点赞 ·
0 评论

内存分配算法(含伙伴系统)

发布资源 2014.01.11 ·
exe

求二叉树的带权路径长度(深搜或广搜)

考研昨天结束了,专业课我考得不好,是408,算法题13分。今年是求二叉树的带权路径长度,我就写了算法思想,代码空白,因为时间来不及了,慌了,是心态的问题吧,做到最后有种天要塌下来的感觉,回来后很沮丧,因为我觉得自己是可以写出程序的,不服啊! 下面说说这道题目。树的带权路径长度(Weighted Path Length)定义:树中所有叶子的带权路径长度之和。比如下面这棵树,WPL就是3*
原创
发布博客 2014.01.06 ·
7379 阅读 ·
7 点赞 ·
3 评论

上机实现操作系统课程中的 PV 操作

各位上过《操作系统》的同学都知道进程同步这个知识点,汤小丹那本“考研指定教材”上面描述 PV 操作是用 Pascal 语言的,看着真心难受,各种题目也是要求我们纸上写程序,本人真心反感,写了都不知道对不对。下面这个程序是在 Windows 下用 C 语言写的,选的例子是经典的“生产者消费者问题”,希望对大家有所帮助。“生产者消费者问题”的程序如下,假设有多个缓冲区,多个生产者,多个消费者。它们
原创
发布博客 2013.11.06 ·
1992 阅读 ·
3 点赞 ·
0 评论

用二级指针操作不带头结点的单链表

在不带头结点的单链表中删除特定元素,一种很麻烦的情况是首结点即要删的结点,所以往往标识一个链表的 head 就会改变,而在删除函数中要改变客户端的 head,就必须传入 head 的地址,否则客户端的 head 永远不会改变,也就是说,若形参为 Node * 类型,修改的只是 head 的副本,这是C语言中的基础问题。这篇博客是我读了皓哥的这篇文章《Linus:利用二级指针删除单向链表》有感而写的
原创
发布博客 2013.10.06 ·
3159 阅读 ·
4 点赞 ·
8 评论

用 C++ 标准模板库(STL)的 vector 实现二叉搜索树(BST)

本文由 Justme0 翻译自 Code Project 转载请参见文章末尾处的要求。介绍众所周知,要建一棵树,我们需要关注它的内存分配与释放。为了避开这个问题,我打算用C++ STL(vector和deque)来建一棵小型的BST。很明显,这篇文章是出于这个想法的。 背景BST是应用最广泛的数据结构之一。C是首选语言,不过因为C++尤其是C++11的出现,我更有兴
翻译
发布博客 2013.09.05 ·
6501 阅读 ·
7 点赞 ·
0 评论

C 语言中实现数据与方法的封装

在 C 语言中可以用结构体代替类,用函数指针代替成员方法,实现数据成员与成员方法的封装,在客户端程序中写出的程序与 C++ 类似,唯一的不同是 C 语言中调用函数指针成员时必须将本对象的地址传给函数,因为 C 语言中各函数的地位是相同的。       本文以模仿 STL 中的 vector 类写了一个 C 语言的 vector 结构体,程序如下:1. vector 的接口/******
原创
发布博客 2013.08.19 ·
3318 阅读 ·
1 点赞 ·
0 评论

第一次面试

下午课刚上完,我收到了HR的通知,得知没有通过面试,这是一家在合肥的软件公司。挺不爽的,我觉得主要是因为经验少。还是谈谈面试官问我的两个技术问题吧,我应聘的是C++软件开发工程师。1、STL中的map是线程安全的吗?我的回答:标准中没有规定,但是基本上STL都实现了,是线程安全的。其实是大部分版本的STL都不是线程安全的。我前几天刚好查了这个问题,参见:http://sta
原创
发布博客 2013.05.24 ·
2651 阅读 ·
3 点赞 ·
7 评论

USACO 1.2.2 Transformations(模拟)

分析       这是我第一次在ACM的题目中用OO的思想写的程序,看到标程,竟不谋而合,结构是类似的。对正方形这个类分析,将会使问题变得简单,我觉得OO的分析和设计挺关键的,其实我一开始也没设计好,原先准备把7个bool函数当成类的成员方法,其实这个设计是不好的,有点过了。其实应该是把旋转90度和轴对称这两个方法作为类的成员方法,这样main中调用就方便自如了。       最后,我觉得
原创
发布博客 2013.03.30 ·
1524 阅读 ·
2 点赞 ·
1 评论

POJ 1151 Atlantis(离散化+扫描线)

题目大意:求N个矩形的并的总面积。http://poj.org/problem?id=1151参考了黑书上讲离散化的那两页,想到了上学期学的计算机图形学里的多边形填充算法。src:/******************************************************************** created: 2013/03/28 created:
原创
发布博客 2013.03.28 ·
1464 阅读 ·
0 点赞 ·
0 评论
加载更多