1 <?php 2 //设置请求头 3 header("content-type:text/html;charset=utf-8"); 4 5 /* 6 冒泡排序的算法思想: 7 例如:10 7 2 6 是一个数组 8 要求:从小到大排序 9 10 第1轮 11 1)10 和 7 比较,7比10小,结果:7 10 2 6 12 2)10 和 2 比较,2比10小,结果:7 2 10 6 13 3)10 和 6 比较,6比10小,结果:7 2 6 10 14 15 第2轮 16 1)7 和 2 比较,2比7小,结果:2 7 6 10 17 2)7 和 6 比较,6比7小,结果:2 6 7 10 18 19 第3轮 20 1)2 和 6 比较,2比6小,结果:2 6 7 10 21 比较结束。。。。 22 23 总结:每一轮比较结束后,这轮结果的最后一个数就不参与下一轮的比较 24 逆序一样 25 */ 26 27 28 //例子: 29 $arr = array(10,7,2,6); //要排序数组 30 31 function my_bubble_sort(&$arr){ 32 var_dump($arr); 33 34 $arr_count = count($arr); //4 35 36 //比较次数 37 for($i=0; $i<$arr_count - 1; $i++){ 38 39 for($j=0; $j<$arr_count - $i - 1; $j++){ 40 41 //大向右移动,小向左移动(从大到小只需要该一下符号) 42 if($arr[$j] > $arr[$j+1]){ 43 //交换操作 44 $temp = $arr[$j]; 45 $arr[$j] = $arr[$j + 1]; 46 $arr[$j + 1] = $temp; 47 } 48 } 49 } 50 51 var_dump($arr); 52 } 53 54 my_bubble_sort($arr); 55 56 57 ?>
时间: 2024-11-05 22:57:12