冒泡排序算法是最基本的c语言算法之一,作为万能小强php实现起来自然也不成问题。 /* * bubblesort() 冒泡排序算法 * 虽然简单但效率不高^_^ * */ function bubblesort( &$a1 ) { if ( !is_array($a1) ) { return false; } $len = count($a1); // go down array and get an element for( $i = 0; $i < $len; $i++ ) { // check everything above element // if we are larger than swap [...]
归档 十一月 2010
php 快速排序函数
在php编程中会用到一些常用的算法,把这些算法代码写成函数方便以后调用^_^。php快速排序函数就这样诞生了,两个版本,递归和无递归。可以根据实际需要选用。
老婆,我们相识3年了
宝宝在身边安静的的睡着,她也睡了。昨天,2010年11月27日,我们相识3年的日子,我并没有刻意准备去纪念晚餐什么的;相对于人的一生,三年时间显得如此短暂。以后的日子还长者呢^_^,取而代之的是对生活的回忆和思考。 她紧搂着我,有好多好好的话要说。时间让我们更加亲密,也更加了解彼此。从热恋到成婚最后有了宝宝;她津津有味地回忆着有趣的往事。我静静地听着,如果时光再给我们一次重新选择的机会,是否会再次选择对方呢?! 这个问题颇让人敬而远之,毕竟有些敏感。我觉得回答这个实在很刺激,呵呵,如果你回答:不?!老婆会不会立刻发飙^_^。是啊,时间沉淀出个人的缺点。关键问题是你的爱心能否包容爱人的缺点呢?这个可要打个大大的问号呢! 妻一直是个思想比较理想化的小女人,从确定关系的那天起她就不停说喜欢上我的原因;喜欢我对事物执著的追求。而每每提及为什么会选择她,却让我语塞。或许每个人对另一半的选择都有一个不同的标准吧,而妻就是那个符合我择偶标准的人。 3年的时光快乐与烦恼参半。刚认识那会比较任性的她,现在依然任性(等于没说)^_^。形式上却有了很大的改变,生活让我们来不及思考这些变化,却又不得不去面对。是否该思考这些变化的原因?我迟疑了。 人无完人,生理上接受彼此似乎总是比心理上来的更快些,这也就解释了为什么很多山盟海誓的情侣们无疾而终。同样,表面的和谐比精神上的和谐要容易的多。生活中实在有太多太多的因素影响着我们。 写到这里,悲观的情绪让我倍感失落。一方面妻有着她诸多的优点,这些优点正是当初我的择偶标准。另一方面,人性的弱点让我愈加不满生活的现状妄求再做突破,可怕而可悲的想法。 当生活不断地重复着每一天的时候,生命就会变得无精打采。妻思想上的理想化与现实生活中的实际化,让我发现男人与女人的区别是如此之大。当男人们追求着理想化的现实时;女人们只要拥有实际化的理想就足矣。 雄性动物似乎更加有野心。3年后看这篇文章的我又会作何感想呢?^_^ 生活总是To be Continued…..
Linux 启动过程GRUB详解
Linux的启动过程是什么样的?如何通过grub引导完成系统的启动?这些问题,在我没有安装双系统之前,一直没有深入研究过。了解linux通过grub引导启动,能帮助我们更深刻理解linux操作系统,也算普及一下基础知识吧^_^。 如图所示,这是一个硬盘的linux分区示意图。有用4个主分区,包括boot、root、swap和home;linux引导文件就放在这个硬盘最前面的一段空间里。linux引导文件和windows系统类似,区别的只是grub数据结构的不同啦。 和windows相似,硬盘的第一个扇区的头512个字节存放主引导记录(MBR);MBR包括444字节的Boot Loader,64字节的分区表和2个字节的标志位(0xAA55)。这512字节的信息相当重要哦,如果损坏,就会造成无法启动linux系统的故障;所以我们应该在适当的时间做个备份: # /dev/hda 这个是你的硬盘第一个分区,可以根据实际情况更改 dd bs=512 count=1 if=/dev/hda | od -Ax -tx1z -v 介绍完MBR结构,我们就来谈谈GRUB(Grand Unified Bootloader ),目前大部分的linux系统都是使用这个boot loader来启动系统的哦^_^。GRUB的引导过程如下: BIOS 读取MBR数据(顺便读取MBR最后两个字节进行校验) 开始执行Boot Loader中的引导程序 (GRUB stage 1)
为网站发布机重新编写代码
最近一段时间一直在外地出差,许久没有写博客了。^_^不过,在临出差之前笔者吧自己的网站发布机软件重写了大部分代码,修改后的代码有更好的通用性。 笔者把网站发布机分成3个部分。考虑到要使用到多线程,由于程序比较复杂,将原本的一个单独的程序改成3个程序,分别负责监控采集、正文分析过滤和最终的生成文章。这样做的好处也显而易见。 另外,采集后的文章也由直接文件夹存储改为数据库存储,笔者选择了sqlite这个小巧但强大的数据库,并且支持多线程操作,大大提升了效率。 因为把采集和分析分开处理,使得线程不必为此而等待^_^. 虽然笔者一直在出差,不过家中的采集器正在卖力的工作呢^_^,回家后再看看采集成果吧。 工作虽然很累,可是不用管家中的事情,对笔者来说也算是忙里偷闲吧。
C#编程 Html table 解析器
html中的表格一般都存储着比较重要的信息,虽然现在css+div已是主流,但笔者还是不建议把信息添加到div中,过度的使用div标签一样是一场灾难^_^。下面的代码可以解析html table,感兴趣的朋友可以看看。
c#编程 RSS2.0解析器代码
最近工作比较忙,加上杂七杂八的一堆事情,博客也开始长草了=_=。手里现在唯一没有停滞的项目就是笔者的网站发布机的开发。这是其中解析rss文件的代码;个人觉得比较实用,所以把单独提出来,和各位一道分享^_^。用法也相当简单,下面的代码中已经包含了控制台的示例代码,有兴趣的朋友可以看看
好莱坞大片 狄仁杰之通天帝国观后感
看到标题的朋友一定感到奇怪,什么?!狄仁杰之通天帝国明明是香港导演徐克的作品嘛。不错,徐克导演的武侠电影曾经风靡一时。如今,只能说廉颇老矣。通天帝国通篇的西方奇幻色彩实在让人无法接受,难道东方的故事就没有更丰富的想象力了吗?!


