PHP教程之冒泡排序算法:冒泡排序算法的PHP完成及...
在学习PHP这六个月里,每看到一个优秀的php脚本,就会兴奋的手舞足蹈,嘴里还不停的说:太酷了,太酷了。呵呵,很幼稚吧,但这可能就是兴趣。根基概念:
冒泡排序(BubbleSort)的根基概念是:顺次对照相邻的两个数,将小数放在后面,大数放在前面。即在第一趟:起首对照第1个和第2个数,将小数放前,大数放后。然后对照第2个数和第3个数,将小数放前,大数放后,如斯持续,直至对照最初两个数,将小数放前,大数放后。至此第一趟停止,将最大的数放到了最初。在第二趟:仍从第一对数入手下手对照(由于能够因为第2个数和第3个数的互换,使得第1个数不再小于第2个数),将小数放前,大数放后,一向对照到倒数第二个数(倒数第一的地位上已是最大的),第二趟停止,在倒数第二的地位上失掉一个新的最大数(其其实全部数列中是第二大的数)。如斯下去,反复以上进程,直至终究完成排序。
因为在排序过程当中老是小数往前放,大数往后放,相当于气泡往上升,所以称作冒泡排序。
用二重轮回完成,外轮回变量设为i,内轮回变量设为j。假设有10个数需求停止排序,则外轮回反复9次,内轮回顺次反复9,8,...,1次。每次停止对照的两个元素都是与内轮回j有关的,它们可以分离用a和a标识,i的值顺次为1,2,...,9,关于每个i,j的值顺次为1,2,...10-i。
<?php
/*
* point one: remember swap variable
* point two: remember inside loop size
*/
$arr = array(2,1,4,2,7); //init a array variable
$result = maoSort($arr); //invoke a function and get result
echo '<pre>'; //output format
print_r($result); //output result
echo '</pre>';
function maoSort($arr){ //function start
$size = count($arr)-1; //need to loop size is total length - 1
for ($i = 0; $i < $size; $i++) { //outside loop
for ($j = 0; $j < $size-$i; $j++) { //inside loop
if ($arr[$j] < $arr[$j+1]) { //compare big or small
$temp = $arr[$j]; //start swap
$arr[$j] = $arr[$j+1];
$arr[$j+1] = $temp;
}
}
}
return $arr;
}
?> 本文链接http://www.cxybl.com/html/wlbc/Php/20130504/37470.html学校并没有那么多的时间可以让我们在实际开发上面。 我还是强烈建议自己搭建php环境。因为在搭建的过程中你会遇到一些问题,通过搜索或是看php手册解决问题后,你会更加深刻的理解它们的工作原理,了解到php配置文件中的一些选项设置。 基础有没有对学习php没有太大区别,关键是兴趣。 当留言板完成的时候,下步可以把做1个单人的blog程序,做为目标, 这些都是最基本最常用功能,我们这些菜鸟在系统学习后,可以先对这些功能深入研究。 本文当是我的笔记啦,遇到的问题随时填充 微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox支持的不是很好,所以能少用还是少用的好。 找到的的资料很多都是在论坛里的,需要注册,所以我一般没到一个论坛都注册一个id,所有的id都注册成一样的,这样下次再进来的时候就不用重复注册啦。当然有些论坛的某些资料是需要的付费的。 有时候汉字的空格也能导致页面出错,所以在写代码的时候,要输入空格最好用引文模式。 环境搭建好,当你看见你的浏览器输出“it works\\\\\\\"时你一定是喜悦的。在你解决问题的时候,我强烈建议多读php手册。 这些中手常用的知识,当你把我说的这些关键字都可以熟练运用的时候,你可以选择自己 对于初学者来说不推荐去拿钱买的。当然如果一个网站你经常去用,而且里面的资料也比较有用,最好还是买个会员比较好,毕竟那些也是别人的工作成果。 学习php的目的往往是为了开发动态网站,phper就业的要求也涵盖了很多。我大致总结为:精通php和mysql 首推的搜索引擎当然是Google大神,其次我比较喜欢 百度知道。不过搜出来的结果往往都是 大家copy来copy去的,运气的的概率很大。 首先我是坚决反对新手上来就用框架的,因为对底层的东西一点都不了解,造成知识上的真空,会对以后的发展不利。我的观点上手了解下框架就好,代码还是手写。当然啦如果是位别的编程语言的高手的话,这个就另当别论啦。 微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox支持的不是很好,所以能少用还是少用的好。 在学习的过程中不能怕麻烦,不能有懒惰的思想。学习php首先应该搭建一个lamp环境或者是wamp环境。这是学习php开发的根本。虽然网络上有很多集成的环境,安装很方便,使用起来也很稳定、 首推的搜索引擎当然是Google大神,其次我比较喜欢 百度知道。不过搜出来的结果往往都是 大家copy来copy去的,运气的的概率很大。 装在C盘下面可以利用windows的ghost功能可以还原回来(顺便当做是重转啦),当然啦我的编译目录要放在别的盘下,不然自己的劳动成果就悲剧啦。 在我安装pear包的时候老是提示,缺少某某文件,才发现 那群extension 的排列是应该有一点的顺序,而我安装的版本的排序不是正常的排序。没办法我只好把那群冒号加了上去,只留下我需要使用的扩展。
页:
[1]