冒泡排序算法
- 2018-12-12 21:00:00
- 赵勤松 原创
- 1987
冒泡算法,简单来说,就是按着顺序,逆序,或者其他确定的顺序规则,将前后两个相邻的元素依次进行比较,交换的过程,不断重复此一过程,直到没有元素可以比较为止。
以下通过PHP代码来描述一过程
sort.php <?php $arrInit = array(); // 生成10个100以内随机整数(1-100),放入arrInit数组中 for ($i=0; $i<10; $i++) $arrInit[$i] = rand(1,100); print_r("排序前数组内容为\n"); print_r($arrInit); // 使用冒泡法排序 for ($i=0; $i<9; $i++) { for ($j=0; $j<10-1-$i; $j++) { // 如果前面的数大于后面的数,则交换两个位置 if ($arrInit[$j] > $arrInit[$j+1]) { $intTemp = $arrInit[$j]; $arrInit[$j] = $arrInit[$j+1]; $arrInit[$j+1] = $intTemp; } } } print_r("排序后数组内容为\n"); print_r($arrInit); ?>
代码的主要功能,由以下几部分完成:
1.随机生成包含10个元素的数组,内容为1-100之内的整数
2.第1个循环,表示要执行比对的轮数,因为第一次比对时,已经通过$j+1的方法比对了第9的元素,所以比对的轮数为8即可
3.第2个循环,表示从0开始比对,每次比对当前元素和下一个元素,如果前一个大于后一个,则交换2个元素的内容
4.完成一次第2循环后,进入下一轮比对,此时需要比对的元素比上一轮减少一个,即为8,每次循环都会减1
5.通过上述比对,就可以达成里面的元素从小到大排序
文章分类
联系我们
联系人: | powereye |
---|---|
Email: | zqs@someapp.cn |
QQ: | 1134846 |
微信: | powereye |