摘要: dup,dup2目标复制一个文件描述符头文件#include 函数原型newfd = dup(oldfd);newfd = dup2(oldfdm, newfd);参数oldfd需要复制的文件描述符newfd复制oldfd后得到的文件描述符返回值-1 发生错误newfd 新的文件描述符p... 阅读全文
posted @ 2014-10-20 17:16 bournet 阅读(220) 评论(0) 推荐(0) 编辑
摘要: shell是一个管理进程和运行程序的程序,所有常用的shell有三个主要功能。(1)运行程序grep、date、ls、echo和mail都是一些普通程序,用C编写,并被编译成机器语言。shell将它们载入内存并运行它们。很多人把shell看作一个程序启动器。(2)管理输入和输出使用和|符号可以将输入... 阅读全文
posted @ 2014-10-09 16:42 bournet 阅读(261) 评论(0) 推荐(0) 编辑
摘要: 将一块很长的木板切割成N块,长度分别为L1、L2、…、LN。每次切割需要的开销为当前木板的长度。求出将木板切割完最小开销是多少。在N块木板中取最短和次短的相加,加到开销中,再在N-1块木板中重复此操作,直到木板数为1。 1 #include 2 #include 3 #include 4 us... 阅读全文
posted @ 2014-10-08 10:28 bournet 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 直线上有N个点,点i的位置是Xi。从这N个点中选择若干个点,给它们加上标记。对每个点,其距离R内的区域里必须有带有标记的点(自己本身带有标记的点,可以认为与其距离为0的地方有一个带有标记的点)。在满足这样的条件下,至少多少个点被加上标记。从最左边的点开始,距离为R以内的最远的点,加上第一个标记后,剩... 阅读全文
posted @ 2014-09-30 20:30 bournet 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 给定长度为N的字符串S,构造长度为N的字符串T,起初T是空串,反复从S的头部或者尾部删除一个字符,加到T的尾部。目标是构造字典序尽可能小的T。尝试如下贪心算法:不断取S头部和尾部较小的字符放到T的尾部。考虑S头部和尾部字符相同的情况。有如下算法:按照字典序比较S和将S反转后的字符串S‘;如果S较小,... 阅读全文
posted @ 2014-09-30 17:29 bournet 阅读(394) 评论(0) 推荐(0) 编辑
摘要: 给定大小为N*M的迷宫,求出起点到终点的最小步数。输入输出22 1 #include 2 #include 3 #include 4 using namespace std; 5 6 #define MAX_N 100 7 #define MAX_M 100 8 9 const int I... 阅读全文
posted @ 2014-09-30 11:26 bournet 阅读(217) 评论(0) 推荐(0) 编辑
摘要: 希尔排序(Shellsort)的名称源于它的发明者Donald Shell,该算法是冲破二次时间屏障的第一批算法之一。不过,自从它最初被发现,又过了若干年才证明了它的亚二次时间界。它通过比较相距一定间隔的元素来工作;各趟比较所用的距离随着算法的进行而减小,直到只比较相邻元素的最后一趟排序为止。希尔排... 阅读全文
posted @ 2014-09-28 20:59 bournet 阅读(218) 评论(0) 推荐(0) 编辑
摘要: 对于数组A[N]的插入排序由N-1趟排序组成。对于P=1趟到P=N-1趟,插入排序保证从位置0到位置P上的元素已为排序状态。实际上插入排序利用了这样的事实:位置0到位置P-1上的元素是已排过序的。在第P趟,我们将位置P上的元素向左移动到它在前P+1个元素的正确位置上。插入排序的过程可以用下图表示。具... 阅读全文
posted @ 2014-09-28 19:47 bournet 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 有一个大小为N*M的园子,雨后积水。八连通的积水被认为是连接在一起的,求出园子里共有多少水洼(八连通是下图中相对W的*部分)。* * **W** * *分析:从任意的W开始,不停地把邻接的部分用'.'代替。1次dfs后与初始的W连接的所有的W都被替换成'.',即这个水洼消失了。因此直到图中不存在W为... 阅读全文
posted @ 2014-09-27 11:05 bournet 阅读(327) 评论(0) 推荐(0) 编辑
摘要: 深度优先搜索(DFS, Depth-First Search)是搜索的手段之一。它从某个状态开始,不断地转移状态直到无法转移,然后退到前一步的状态,如此不断重复,直至找到最终的解。部分和问题给定整数a1、a2、……、an,判断是否可以从中选出若干个数,使它们的和恰好为k。限制条件1 ≤ n ≤ 20... 阅读全文
posted @ 2014-09-26 21:49 bournet 阅读(144) 评论(0) 推荐(0) 编辑