gpt4 book ai didi

PHP的简易冒泡法代码分享

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 25 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章PHP的简易冒泡法代码分享由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

很基础的东西,感觉代码还不够简洁,希望高手指导修改  。

复制代码代码如下

<?php  function BubbleSort($str){  for($i=0;$i<count($str);$i++){//从数组末尾取一个值;  for ($k=count($str)-2;$k>=$i;$k--){//将这个值向前冒泡;  if($str[$k+1]<$str[$k]){ //将小于号改为大于号,就是降序排列;  $tmp=$str[$k+1];  $str[$k+1]=$str[$k];  $str[$k]=$tmp;  }  }  }  return $str;  }  //以下是测试  $str=array(5,8,2,6,10,0,3,12,11);  print_r(BubbleSort($str));  ?>  。

php 冒泡排序2  基本概念是:依次比较相邻的两个数,将小数放在前面,大数放在后面。即首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。重复以上过程,仍从第一对数开始比较(因为可能由于第2个数和第3个数的交换,使得第1个数不再小于第2个数),将小数放前,大数放后,一直比较到最大数前的一对相邻数,将小数放前,大数放后,第二趟结束,在倒数第二个数中得到一个新的最大数。如此下去,直至最终完成排序。    由于在排序过程中总是小数往前放,大数往后放,相当于气泡往上升,所以称作冒泡排序。    用二重循环实现,外循环变量设为i,内循环变量设为j。外循环重复9次,内循环依次重复 9,8,...,1次。每次进行比较的两个元素都是与内循环j有关的,它们可以分别用a[j]和a[j+1]标识,i的值依次为1,2,...,9,对于每一个i, j的  值依次为1,2,...10-i。  。

复制代码代码如下

<?php  function asc($a)  {  for($i=0;$i<count($a)-1;$i++)  {  for($j=0;$j<count($a)-1;$j++)  {  if($a[$j]>$a[$j+1])  {  $tmp=$a[$j+1];  $a[$j+1]=$a[$j];  $a[$j]=$tmp;  }  }  }  print_r($a);  }  $a = array(9,8,17,6,26,4,33,2,1);  print_r(asc($a));  ?>  <br />  <?php  function desc($a)  {  $c=array();  for($i=count($a)-1;$i>0;$i--)  {  for($j=0;$j<count($a)-1;$j++)  {  if($a[$j]<$a[$j+1])  {  $tmp=$a[$j+1];  $a[$j+1]=$a[$j];  $a[$j]=$tmp;  }  }  }  print_r($a);  }  $arr=array(33,24,56,55,59);  desc($arr);  ?>   。

PHP冒泡排序法演示  以前面试的时候考官出的笔试题,觉得比较XX,写程序应该是在计算机上面,而不是在笔头上。  PHP程序文件sort_bubble_up.php  。

复制代码代码如下

<html>  <head><title>冒泡排序法演示</title><head>  <link rel="stylesheet" href="sort.css">  <body>  <h1>冒泡排序法演示</h1>  <table cellpadding="5" cellspacing="1" border="0" align="center">  <?php  //随机生成数组  $arr=array();  echo '<tr><td colspan="10" class="title">初始值</td></tr>';  echo '<tr>';  for($i=0;$i<10;$i++){  $arr[$i]=rand();  echo "<td>\$arr[$i]={$arr[$i]}</td>";  }  //进行冒泡法排序  for($i=9;$i>0;$i--){  echo '<tr><td colspan="10" class="title">第'.(10-$i).'次</td></tr>';  for($j=0;$j<$i;$j++){  if($arr[$j]<$arr[$j+1]){  $tmp=$arr[$j];  $arr[$j]=$arr[$j+1];  $arr[$j+1]=$tmp;  }  echo '<tr>';  for($k=0;$k<10;$k++){  switch($k){  case $j : echo '<td class="base">'; break;  case $j+1 : echo '<td class="light">'; break;  default : echo '<td>';  }  echo "\$arr[$k]={$arr[$k]}</td>";  }  echo '</tr>';  }  }  //显示排序结果  echo '<tr><td colspan="10" class="title">结果</td></tr>';  echo '<tr>';  for($i=0;$i<10;$i++){  echo "<td>\$arr[$i]={$arr[$i]}</td>";  }  echo '</tr>';  ?>  </table>  </body></html>  。

样式表文件sort.css  。

复制代码代码如下

h1{text-align: center; color: blue;}  table{font-size: 12px; font-family: arial; background-color: black; text-align: center;}  td{background-color: white;}  .base{background-color: #0FF;}  .light{background-color: #0DD;}  .title{background-color: #3FF; text-align: center;}  。

最后此篇关于PHP的简易冒泡法代码分享的文章就讲到这里了,如果你想了解更多关于PHP的简易冒泡法代码分享的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com