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);