- 博客(8)
- 资源 (4)
- 收藏
- 关注
原创 选择原料工厂
12个工厂分布在一条东西向高速公路的两侧,工厂距离公路最西端的距离分别是0、4、5、10、12、18、27、30、31、38、39、47.在这12个工厂中选取3个原料供应厂,使得剩余工厂到最近的原料供应厂距离之和最短,问应该选哪三个厂?分析:1、是一维问题,不是二维,可以抽象成:有12个点分布在一维坐标轴上,选择3个点,使得剩余的点到最近的点的距离之和最小。2、工厂距离是从小到大排序的
2012-07-28 17:13:27 2207
原创 C语言标准IO
这几天参加中兴捧月比赛,用到了C语言的标准IO库。由于对其中的一些细节不是非常清楚,导致了许多Bug,花了好长时间来调试。所以在此做个笔记,以备后查。1. 缓冲区全缓冲。在这种情况下,当填满标准I/O缓存后才进行实际I/O操作。对驻留在磁盘上的文件的访问通常是由标准I/O库实施全缓冲的。 缓冲区可由标准IO例程自动冲洗(如当填满一个缓冲区时),或调用函数fflush强制冲洗。行缓冲
2012-07-27 16:00:59 1160
原创 中缀、前缀、后缀表达式之间的转换
中缀表达式转换为后缀表达式:从前面扫描,从前面输出中缀表达式转换为前缀表达式:从后面扫描,从后面输出前缀表达式和后缀表达式转换为中缀表达式:重建计算树,中序遍历树,子节点的优先级若低于父节点,子树的表达式两端加括号稍后贴上源程序
2012-07-19 21:21:12 849
原创 Linux多线程──读者写者问题
读者写者问题这也是一个非常经典的多线程题目,题目大意如下:有一个写者很多读者,多个读者可以同时读文件,但写者在写文件时不允许有读者在读文件,同样有读者读时写者也不能写。程序:// reader_writer.cpp//////////////////////////////////////////////////////////////////////// 读者写者问题
2012-07-12 21:37:56 5325 1
原创 Linux多线程──生产者消费者
生产者消费者问题这是一个非常经典的多线程题目,题目大意如下:有一个生产者在生产产品,这些产品将提供给若干个消费者去消费,为了使生产者和消费者能并发执行,在两者之间设置一个有多个缓冲区的缓冲池,生产者将它生产的产品放入一个缓冲区中,消费者可以从缓冲区中取走产品进行消费,所有生产者和消费者都是异步方式运行的,但它们必须保持同步,即不允许消费者到一个空的缓冲区中取产品,也不允许生产者向一个已经装
2012-07-12 20:51:17 7192 4
原创 Linux多线程──3个子线程轮流运行
迅雷笔试题:编写一个程序,开启3个线程,这3个线程的ID分别为A、B、C,每个线程将自己的ID在屏幕上打印10遍,要求输出结果必须按ABC的顺序显示;如:ABCABC….依次递推。程序:#include #include const int THREAD_NUMBER = 3;// 子线程的互斥量和条件变量pthread_mutex_t thread_mutex
2012-07-10 21:49:58 3170 2
原创 Linux多线程──主线程和子线程分别循环一定次数
子线程循环 10 次,接着主线程循环 100 次,接着又回到子线程循环 10 次,接着再回到主线程又循环 100 次,如此循环50次,试写出代码。要注意条件变量的自动复位问题。参看这篇文章:Linux 的多线程编程的高效开发经验代码:#include #include // 互斥锁,条件变量pthread_mutex_t mutex;pthread_cond_t cond
2012-07-08 20:54:14 3989
原创 华为面试2:1分2分5分的硬币,组成1角,共有多少种组合。
动态规划,注意不要有重复的,例如组成1角钱,5 2 2 1 和 1 2 2 5是1种组合算法的设计思想在程序中注释的很清楚。解法一:// 动态规划// total_money: 要找的零钱总和// changes: 零钱数组,已经从小到大排序,第1个元素设为0,有效元素从第2个位置即下标1开始// kinds_change: 零钱种类int make_change_prob
2012-07-05 11:38:49 4607
深度探索C++对象模型
2013-08-31
STL原码剖析中文版
2013-08-31
More Effective C++中文版
2012-04-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人