
其他
文章平均质量分 72
万木春《Linux 后端开发工程实践》
这个作者很懒,什么都没留下…
展开
-
strncasecmp与strcasecmp用法
strcasecmp strcasecmp(忽略大小写比较字符串) 相关函数 bcmp,memcmp,strcmp,strcoll,strncmp 表头文件 #include 定义函数 int strcasecmp (const char *s1, const char *s2); 函数说明 strcasecmp()用来比较参数s1和s2字符串,比较时会自动忽略大小写的差异。 返原创 2010-02-28 10:45:00 · 24135 阅读 · 0 评论 -
C++ auto_ptr 智能指针
C++ auto_ptr 智能指针 智能指针,依稀记得是在那本C++经典书籍中看到的,现在自己实现一遍,实现代码如下:/* FileName: main.cpp Author: ACb0y Create Time: 2011年2月4日 23:12:47 Last Modify Time: */#include using namespace std;/* 智能指针类 */templateclass SmartPtr{//构造函数,析构函数priv原创 2011-02-05 00:44:00 · 1247 阅读 · 0 评论 -
排序算法-中级篇
排序算法-中级篇<br />上一篇文章中我回顾了在学习入门计算机语言时最初接触的排序算法(冒泡排序,选择排序),不管是冒泡排序还是选择排序,它们的效率都不高时间复杂度都为O(n^2),对于大规范的数据出来是不能接受了,因而就需要更高效的排序算法。在这里我回顾一下我们在数据结构与算法这门课学习到的堆排序(O(nlog(n))),算法逻辑我就不赘述了,大家都知道。<br />代码实现上我是用C++的函数模板来实现。<br />实现代码如下:<br />/* FileName: qsort.cpp Aut原创 2011-02-13 17:38:00 · 774 阅读 · 0 评论 -
如何用C语言获取文件的大小
如何用C语言获取文件的大小今天看项目的代码过程中发现在linux下获取一个指定文件大小(字节为单位)的代码。查了一下发现是使用系统调用stat来实现,而这引起了我的兴趣,我发现在window下貌似没有提供这样的系统调用(不包括MFC),那么如何使用C语言或C++语言来写一个通用的函数来获取指定文件大小的函数呢?查了一下发现同C语言的文件操作函数便可以很容易的实现这样的功能。在自己实现的函数中使用到的函数就只有fseek和ftell。它们的说明如下:fseek语法: #include int fse原创 2011-02-12 21:03:00 · 15877 阅读 · 2 评论 -
排序算法-高级篇(基数排序)
排序算法-高级篇在前两篇文章中,我回归了最基本最easy的排序算法(冒泡排序、选择排序)它们的时间复杂度都为O(n^2)和快速排序(时间复杂度为O(nlog(n))),而选择我要回顾的是更为高效的基数排序(基数排序的使用范围有所限制,它只能用在正整数的排序)它的时间复杂度为O(nlog10(max)),max = Max{data[0], data[1], ...}。我程序的实现是从低位->高位进行扫描。下面举个例子。有数据 data[6] = {13, 14, 15, 24, 35, 100},因为max原创 2011-02-13 23:36:00 · 947 阅读 · 0 评论 -
排序算法-中级篇(归并排序)
/* FileName: MergeSort.cpp Author: ACb0y Create Time: 2011年2月15日14:49:47 Last modify Time: 2011年2月15日15:55:58 */#include using namespace std;/* 函数名: template void print(type * data, int n, char * format); 功能:输出元素序列中所有的元素 参数:原创 2011-02-15 16:35:00 · 925 阅读 · 0 评论 -
排序算法-高级篇(计数排序)
排序算法-高级篇(计数排序)在前一篇的文章中我提到了非比较排序算法(基数排序),现在我要回顾的是另一种非比较排序算法(计数排序),计数排序的原理很 简单就是先统计序列中每个不同的元素出现的次数,然后再统计每个元素在排序后在序列中的位置,然后按照这个位置输出各个元素即可。代码实现如下:/* FileName: countingSort.cpp Author: ACb0y Create Time: 2011年2月14日21:12:31 Last modify Time: 2011年2月15日0:原创 2011-02-15 01:04:00 · 847 阅读 · 0 评论 -
文件操作类
文件操作类<br />近来在项目中发现了很多的文件操作,故自己封装了一个文件操作类。实现代码如下:<br />/* FileName: FileOperation.cpp Author: ACb0y Create Time: 2011年3月15日20:15:03 Last Modify Time: 2011年3月15日22:52:37 */#include <iostream>using namespace std;//文件各种操作的返回值const int FILE_O原创 2011-03-15 22:59:00 · 1175 阅读 · 0 评论 -
C字符串的三种遍历方式
C字符串的三种遍历方式C字符串是用char [],字符数组来表示的,对于字符串的变量通常有两种,在这里中总结一下。代码如下:#include using namespace std;void foreachStringOne(char * str){ int len = strlen(str); for (int i = 0; i原创 2011-03-19 22:22:00 · 40500 阅读 · 1 评论 -
常用字符串hash函数总结
/** * FileName: allHash.cpp * Author: ACb0y * Create Time: 2011年3月20日21:55:53 * Last Modify Time: 2001年3月21日0:00:22 */ #include using namespace std;typedef unsigned int uint;typedef struct node { char * str; struct node * pNext;}n原创 2011-03-21 00:16:00 · 5345 阅读 · 4 评论 -
HBST = Hash-BinarySortTree
Hash-BinarySortTree在上一篇的文章中我对字符串常见的Hash函数进行了总结,在原来的代码中Hash的缓冲数组的元素是一条链表。即每个元素下“挂”的是一个单链表。我采用了设计模式中的策略模式对上次的代码进行了改造,把每个hash函数封装成一个类,这样程序更易于扩展和修改。除了对原来的代码进行重构之外,在Hash缓冲区数组中,每个元素下“挂”的不再是单链表,而是BinarySortTree(二叉排序树),本来想“挂”BalanceBinaryTree(平衡二叉树)后面考虑编程复杂度太大了,就没原创 2011-03-21 23:08:00 · 1591 阅读 · 0 评论 -
用g++编译生成动态连接库*.so的方法及连接
用g++编译生成动态连接库*.so的方法及连接1、动态库*.so的编译 这里我们用到4个文件,它们分别为:SoDemoTest.h、one.cpp、two.cpp、three.cpp。它们的内容如下: SoDemoTest.h#ifndef __SO_DEMO_TEST_HEADER__#define __SO_DEMO_TEST_HEADER__#include原创 2011-06-18 10:09:00 · 37565 阅读 · 2 评论 -
配置文件类
文件配置类回家无聊就写个文件配置类。ReadConfig.h头文件/* FileName: ReadConfig.h Author: ACb0y Create Time: 2011年2月3日 11:15:42 Last Modify Time: 2011年2月3日 12:29:05 */#ifndef __READ_CONFIG_HEADER__#define __READ_CONFIG_HEADER__#define NOT_FOUND_SESSION 1#def原创 2011-02-03 23:42:00 · 1108 阅读 · 0 评论 -
【观点】风雨20年:我所积累的20条编程经验
<br /><br />从11岁时,我就一直在编程,并且一直都很喜欢技术和编程。这些年来,我积累了一些艰难又容易的经验。作为一名程序员,你或许还没这些经验,但我会把它们献给那些想从中学到更多的朋友。<br />我会持续更新这些经验,我可能还会有更多的感想,但就我这20年来看,我想下面这个列表中基本不需要增添额外的东西了。下面就是我至今最难忘的经验。<br />1. 估算解决问题所需要的时间。不要怕,承认吧!我曾见过一些程序员为了解决一个特殊问题而坐在显示器前面8小时。为自己定一个时间限制吧,1小时、30分钟转载 2011-01-26 18:17:00 · 702 阅读 · 0 评论 -
商人渡河问题
/* coder: ACboy date: 2010-3-1 desciption: businessmen river crossing.*/#include using namespace std;int MAXX;int MAXY;// 标记每个状态是否被经过int vis[4][4][3];// dx和dy数组用来存储所有的可能的载人原创 2010-03-01 19:00:00 · 2155 阅读 · 0 评论 -
暑假实训第四天
<br /> 早上6点多就醒了7点30分起床,跟往常一样洗漱完后喝了包麦片就去实验室了,早上主要是在写需求文档,最后一个小时左右胡老师给我们介绍了如何用UML建模工具建模(其实我们大致都会一些o(╯□╰)o)。<br /> 中午校队实验室刚布好线,吃完午饭马上就会校队实验室关门。<br /> 下午我们主要的工作是根据胡老师早上讲的内容编写需求文档,这是个庞大的任务,刚开始的由于没有进行充分的讨论导致了大家在画时序图的后期出现了分歧,总体感觉我们组的进度有点慢,需要继续努力原创 2010-06-26 22:53:00 · 687 阅读 · 0 评论 -
暑假实训第一天
和往常一样我们首先举行了剪短的开班仪式,之后便进行了摸底测试,我随便的做了第8题和第9题前面的题目都是Java的就没做。紧接着便开始分组,分组过程中出现了点不和谐,但最终还是被王老师和谐了,我们可爱的铿铿失去了他们可爱的经理。 说说我们组吧,我们组共有6名成员:我、学睿、勇征、建镖、伟忠、林锋。总体来说项目的开发任务还是很重的,只有14天的coding时间,希望在以后的日子里我和我的组员能得到长足的进步。 下午两点开课,我1点45分就到但是貌似我来早了(狂汗!!!)实验室就林涛原创 2010-06-22 23:32:00 · 870 阅读 · 0 评论 -
HDU 1075 What Are You Talking About
<br />题意:<br /> 给一个映射的字典,然后给加密后的文本,求根据给定的映射的字典还原文本。<br />解法:<br /> 其实用STL的map就可以了,但这里我用了Tire tree弄了个伪map<br />AC代码如下:<br />/* Author: ACb0y Date: 2010年12月4日20:39:40 Type: Map, Tire tree ProblemID: 1075 HDU What Are You Talking About Resu原创 2010-12-04 21:15:00 · 1438 阅读 · 0 评论 -
HDU 1671 Phone list (Tire tree)
<br />题意:<br /> 给定一个电话列表,判断是否出现一个号码是另一个号码前缀的情况,如果有输出“NO”否则输出“YES”<br />解法:<br /> 字典树<br />没有考虑到的情况:<br /> 给定的电话号码系列不适字典序的,如果前缀号码出现在后面,这程序判断失误。<br />如:<br /> 911<br /> 911123<br />对于这组数据可以得到正确的答案<br /> 911123<br /> 911<br />对于这组数据就判断失原创 2010-12-05 16:33:00 · 1027 阅读 · 0 评论 -
HDU 1711 Number Sequence(kmp)
<br />/* Author: ACb0y Date: 2010年12月31日21:47:36 Type: KMP ProblemID: HDU 1711 Number Sequence Result: 3367520 2010-12-27 21:46:16 Accepted 1711 515MS 4220K 854 B C++ ACb0y */#include <iostream>using namespace std;int a[1000005];int原创 2010-12-27 21:47:00 · 851 阅读 · 0 评论 -
HDU 1686 Oulipo (kmp)
<br />题意:<br /> 给定两个字符串a和b求a在中出现过几次<br />解法:<br /> kmp<br />AC代码如下:<br />/* Author: ACb0y Date: 2010年12月31日21:37:45 Type: KMP ProblemID: HDU 1686 Oulipo Result: 3367465 2010-12-27 21:33:16 Accepted 1686 93MS 1260K 817 B C++ ACb0y */原创 2010-12-27 21:39:00 · 1585 阅读 · 0 评论 -
HDU 2896 病毒侵袭 (AC自动机)
<br />/* FileName: 2896.cpp Author: ACb0y Date: 2010年12月30日11:39:54 Type: AC自动机 ProblemID: HDU 2896 病毒侵袭 Result: 3371920 2010-12-30 11:37:43 Accepted 2896 234MS 30004K 2447 B G++ ACb0y */#include <iostream>#include <algorithm>#include原创 2010-12-30 11:48:00 · 781 阅读 · 0 评论 -
FZU 2005 Computer Virus on Planet Pandora (AC自动机)
<br />典型的AC自动机,起初我通过动态开辟空间的方式来申请内存,提交之后果断TLE,后面看到队员佳佳的AC代码发现他是先直接开一个足够大(数组的大小要大于Trie树节点的个数)数组,在申请空间时就分配一个数组元素。后面我也改成了分配数组的方案,果断A了。也正是通过这题让我发现动态申请过大的空间有可能超时。<br />AC代码如下:<br />/* Author: ACb0y Date: 2011年1月2日 12:07:42 Type: AC自动机 Result: 366601 2011原创 2011-01-02 12:21:00 · 1308 阅读 · 2 评论 -
hdu 1131 Count the Trees(catalan数的应用)
<br />catalan数<br />/* Author: ACb0y Date: 2010年11月13日17:16:51 Type: catalan数的应用 递推公式为:C( n ) = n * (4*n - 2)* C(n - 1)/(n + 1); ProblemId: hdu 1131 Count the Trees Result: 3190360 2010-11-13 17:13:59 Accepted 1131 0MS 588K 1123 B G++ ACb0y*/原创 2010-11-13 17:25:00 · 1608 阅读 · 0 评论 -
C/C++时间函数
文章原地址:http://hi.baidu.com/youngtiger/blog/item/dab3b92ba5b7eefbe7cd4039.html几种时间的认识 DST(daylight-saving-time)——夏令时 UTC(Coordinated Universal Time)——协调世界时,可看作等价于GMT,相差不到1秒 UT(Universal Time)——世界时,国际标准时(=GMT,Greenwich Mean Time格林尼治标准时)头文件、宏转载 2011-01-09 14:47:00 · 1510 阅读 · 0 评论 -
一个好玩的小游戏破解。
游戏介绍: 这个游戏和推箱子类似,就是给你有限的操作数,每次操作只能把箱子左移或右移,然后箱子会掉落,最后把3个以上连续相连的相同的箱子消去,如果在规定的操作数内你能让所有的箱子全部消去则通过游戏。 游戏连接地址:http://www.gamereclaim原创 2010-12-03 14:35:00 · 1882 阅读 · 3 评论