A. 一帖看懂php面试必考题:什么是冒泡排序

//首先定义一个数组;
<?php
$arr=array(23,5,26,4,9,85,10,2,55,44,21,39,11,16,55,88,421,226,588);
// 计算数组的长度;
$n =count($arr);
// 外层循环n-1
for($h=0;$h<$n-1;$h++){
//内层循环n-h-1
for($i=0;$i<$n-$h-1;$i++){
//判断数组大小,颠倒位置(从小往大排序,还是从大往小)
if($arr[$i]>$arr[$i+1]){
//定义空容器$kong,然后将两个判断中大的装进去
$kong=$arr[$i+1];
//大的这时就空了,然后将小的装进去
$arr[$i+1]=$arr[$i];
//然后将小的在装到空的进去。这就实现了从小往大排序,从大往小与此相反
$arr[$i]=$kong; }
}}
最后运行结果如下:
php编程冒泡排序
完整代码粘贴如下:
//冒泡排序
$arr=array(23,5,26,4,9,85,10,2,55,44,21,39,11,16,55,88,421,226,588);
$n =count($arr);
//echo $n;
for($h=0;$h<$n-1;$h++){//外层循环n-1
for($i=0;$i<$n-$h-1;$i++){
if($arr[$i]>$arr[$i+1]){//判断数组大小,颠倒位置
$kong=$arr[$i+1];
$arr[$i+1]=$arr[$i];
$arr[$i]=$kong;
}
}
}
var_mp($arr);

B. 用PHP如何实现冒泡排序

<?php//冒泡排序方法functionbubblesort(&$arr){
//定义一个变量保存交换的值
$temp=0;
for($i=0;$i<count($arr);$i++){
for($j=0;$j<count($arr)-$i-1;$j++){
if($arr[$j]>$arr[$j+1]){
//如果前面的那个数大于后面的那个数,那么他们就进行交换
$temp=$arr[$j];$arr[$j]=$arr[$j+1];$arr[$j+1]=$temp;
}
}
}
}
$arr=array(100,99,200,5,-4,6,-7);
bubbleSort($arr);
print_r($arr);
//数组是值传递,所以传递的时候加个&符号就是地址传递,改变外部变量?>

C. 关于PHP冒泡排序法。

你的那个asort函数里面实现的就是类似他写的冒泡算法,排序算法有很多种。他只是用了自己写冒泡算法而已。没有像你使用了php自带的排序函数。

D. php冒泡排序里的这些什么意思$tem=$arr[$i]; $arr[$i]=$arr[$i+1]; $arr[$i+1]=$tem;

冒泡排序的核心思想是两两比较,将较大值放在后面的位置,比如第一个和第二个比,如果第一个大,那么将第一个和第二个换位置,这样循环后大数将被移动到后面,小数在前面。这一步正是比较大小,如果大就换位置,如果不大就保持原位置。

E. php冒泡排序法~呢

$arr=array(1,43,54,62,21,66,32,78,36,76,39);
functiongetpao($arr)
{
$len=count($arr);//设置一个空数组用来接收冒出来的泡//该层循环控制需要冒泡的轮数
for($i=1;$i<$len;$i++)
{//该层循环用来控制每轮冒出一个数需要比较的次数
for($k=0;$k<$len-$i;$k++)
{if($arr[$k]>$arr[$k+1])
{
$tmp=$arr[$k+1];
$arr[$k+1]=$arr[$k];
$arr[$k]=$tmp;
}
}
}return$arr;
}

网页链接

F. PHP程序代码,要用冒泡排序,然后尽量用多的自定义函数,引用 最下面那个是我添加的n_sort,用不了

<?php
$ay=array('5','8','10','6','9','3','2','4');
print_r($ay);
echo"<br/>";
$ay=number_sort($ay);
functionnumber_sort($array)
{
$ct=count($array);
for($i=0;$i<$ct;$i++)
{
for($j=$ct-1;$j>$i;$j--)
{
if($array[$j]<$array[$j-1])
{
n_sort($tmp,$array,$j);//这里错了。$temp这个变量是哪里来的?
}
}
}
print_r($array);
}
functionn_sort(&$tmp,$array,$j)
{
$tmp=$array[$j];
$array[$j]=$array[$j-1];
$array[$j-1]=$tmp;
}
?>

<?php
functionn_sort($array,$j)
{
$tmp=$array[$j];
$array[$j]=$array[$j-1];
$array[$j-1]=$tmp;
}
?>

G. php中冒泡排序和插入排序的区别

我觉得大概是这样的, 其中,arr为要排序的数组,len为数回组的长度,j为数组下标,tmp为定义的答要插入的数。选择排序的原理:每次在无序队列中“选择”出最小值,放到有序队列的最后,并从无序队列中去除该值(具体实现略有区别)更多内容你可以去后盾人学习,然后你自己一定要用心学习

H. php冒泡排序 只能是升序吗

冒泡排序实现原理
① 首先将所有待排序的数字放入工作列表中。
② 从列表的第一个数字到倒数第二个数字,逐个检查:若某一位上的数字大于他的下一位,则将它与它的下一位交换。
③ 重复步骤②,直至再也不能交换。
代码实现
代码如下:

<?php
function bubbingSort(array $array)
{
for($i=0, $len=count($array)-1; $i<$len; ++$i)
{
for($j=$len; $j>$i; --$j)
{
if($array[$j] < $array[$j-1])
{
$temp = $array[$j];
$array[$j] = $array[$j-1];
$array[$j-1] = $temp;
}
}
}
return $array;
}

print '<pre>';
print_r(bubbingSort(array(1,4,22,5,7,6,9)));
print '</pre>';
快速排序实现原理
采用分治的思想:先保证列表的前半部分都小于后半部分,然后分别对前半部分和后半部分排序,这样整个列表就有序了。

I. php冒泡排序怎么排

按照你的要求,编写的冒泡排序的PHP程序如下

(注意因为键的值是字符串类型,所以按照字符大小从小到大排序)

原理是把键值对数组拆成键值的二维数组,然后根据值排序,最后再组装成键值对数组

<?php

$a=Array("a"=>"107","b"=>"5448","c"=>"522");

foreach($a as $k=>$v) $d[] = array($k, $v);

for($i=0;$i<count($d)-1;$i++){

for($j=0;$j<count($d)-1-$i;$j++){

if($d[$j][1]>$d[$j+1][1]){

$temp=$d[$j];

$d[$j]=$d[$j+1];

$d[$j+1]=$temp;
}

}

}

$arr = array();

foreach($d as $v) $arr[$v[0]] = $v[1];

var_mp($arr);

?>

J. PHP 冒泡排序

代码修改好了 你看一下吧 你的错误出现在下面代码的8-15行

1 <?php
2 function maopao($arr)
3 {
4 $i=0 ;
5 $j=0 ;
6 $temp=0 ;
7 for($i=0;$i<=9;$i++)
8 {
9 for($j=$i;$j<=9;$j++)
10 {
11 if($arr[$i]>$arr[$j])
12 {
13 $temp=$arr[$i];
14 $arr[$i]=$arr[$j];
15 $arr[$j]=$temp;
16 }
17 }
18 }
19 return $arr;
20 }
21 $arr = array(2,1,4,3,6,8,7,9,0,5);
22 $arr2= maopao($arr);
23 $arr2=implode(",",$arr2);
24 print_r($arr2);