[php的算法实现]选择排序Selection Sort

/**
 * Selection Sort
 * 步骤:
 * 按从小到大排序:外层循环控制次数,内层循环找到最小的值。
 * @author xiongchuan 
 */

function SelectionSort(array $data){
    $dataLen = count($data);
    $tmp=$k=NULL;
    for($i=0;$i<$dataLen;$i++){
        for($k=$i,$j=$i+1;$j<$dataLen;$j++) {
            if($data[$k]>$data[$j])$k=$j;
        }
        if($k!=$i){
            $tmp = $data[$i];
            $data[$i] = $data[$k];
            $data[$k] = $tmp;
        }
    }
    return $data;
}

//test data
$data = array(1,100,39,55,63,23,44,2,69,3,56,77,88,37,29);
echo "time1:".microtime()."n";
echo join(',', $data);
echo "n";
echo join(',', SelectionSort($data));
echo "ntime2:".microtime()."n";

结果:

time1:0.47919200 1328001756
1,100,39,55,63,23,44,2,69,3,56,77,88,37,29
1,2,3,23,29,37,39,44,55,56,63,69,77,88,100
time2:0.47929000 1328001756

[PHP的算法实现]冒泡排序Bubble Sort

不说废话

/**
 * bubble sort
 * 步骤:
 * 按从小到大排序:相邻两元素相比较,把大的交换给后面的元素。
 * 采用两层循环:外层控制循环次数,内层比较并交换元素
 * @author xiongchuan 
 */

function BubbleSort(array $data){
    $tmp=NULL;//temp data
    $dataLen = count($data);
    for($i=0;$i<$dataLen;$i++){
        for($j=0;$j<$dataLen-$i-1;$j++){
            if($data[$j]>$data[$j+1]){
                $tmp = $data[$j+1];
                $data[$j+1] = $data[$j];
                $data[$j] = $tmp;
            }
        }
    }
    return $data;
}

//test data
$data = array(1,100,39,55,63,23,44,2,69,3,56,77,88,37,29);
echo "time1:".microtime()."n";
echo join(',', $data);
echo "ntime2:".microtime()."n";
echo join(',', BubbleSort($data));
echo "n";

结果:

time1:0.28915100 1327999867
1,100,39,55,63,23,44,2,69,3,56,77,88,37,29
1,2,3,23,29,37,39,44,55,56,63,69,77,88,100
time2:0.28926400 132799986

博客再次迁移

2011年3月份 把博客的域名从pigblog.net换到了blog.hierick.com,12月默默的把域名从blog.hierick.com又换到了blog.xiongchuan.org,

用的一直是我那bluehost.com的主机,一时兴起想写博,可惜网速不给力啊,就又放下了。

1月9日,研究生第一学期的课程结束,现在稍有些时间来做下自己的研究,博客也重新拾起,借助于Sina的SAE。

终于下了决心,把博客从国内移到国外了

再一次使用了sudu的在线压缩文件,打包下载快一点儿,又忘了上回的教训,直接上传到bluehost的空间,
可想而知,头部有输出,这回连后台都进不了。

用sudu的文件打包在所有文件末尾都加了一个空行,导致php包含的时候,就有空白输出了。

还好,哥为了解决这个问题,之前写过一段代码,现在又有用了。
删除所有文件的末行的空白。

如果有想要下载的哥,请稳步到 PHP批量删除空行|wordpress迁移的艰辛

火车票还是有滴!

焦急了两天,买不到去武汉的火车票!
腾讯和阿里的代购火车票,没法相信!让哥浪费了好些感情。

曾经买不到火车票很恨那帮票贩子,现在哥想明白了,没这些票贩子,可能
哥真的买不到票了!

9.30到武汉,哈哈!

博客归来,更简洁了

是的,你没有看错,从前天开始,想好好整一下博客了,换皮肤,换服务器,wordpress升级。

我花了差不多10个小时去淘一个皮肤,结果,还是用了TweentyTen,这款自带的皮肤。。。

之前的郑州双线服务器,经常挂,据客服说 单线的要快,现在整了个广东电信,继续观察。。。

wordpress升级,也花了不少时间,以前没有玩过,这回是直接更换的wordpress版本,先前的版本是2.8,要升到3.1

用wordpress自的导入导出工具,确实不错可以导出成XML文件,比较方便,导完后才发现,用户数据没有过来,悲剧中,试了半天想找个

插件搞定这个事儿,无果。
继续阅读

HPMINI 键盘锁了

帮别人装系统,完了就用驱动精灵看看有哪些驱动要更新,看到快捷键驱动(HP Quick Launch Buttons),没有在意就直接装了,发现键盘给锁住了,输入完全没有反应,由于时间紧,HP Quick Launch Buttons卸载后就正常,有机会再看看怎么回事。。。