導航:首頁 > 編程語言 > php數組冒泡

php數組冒泡

發布時間:2022-04-19 01:00:13

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 怎麼用冒泡演算法進行排序呢

1.你必須使用冒泡演算法嗎?如果不是的話,我給你一個簡單點的排序方法,就是循環數組,提取出A列或者B列的值及對應的數組,使用asort()根據值大小排序就將索引順序排好了,然後循環一遍對應到以前的數組(或者乾脆賦值給一個新數組);
2.考慮到你需要對B分組,然後對組內根據A排序,建議先對A排序,然後循環數組,以每個組的b列值為鍵,賦給一個新的數組,類似這樣:
foreach($arr as $k=>$v){
$result[$v[1]][] = $v;
}
然後按照1的方法對外層排序。

C. 用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);
//數組是值傳遞,所以傳遞的時候加個&符號就是地址傳遞,改變外部變數?>

D. php二維數組如何冒泡排序對角輸出

將一維數組的改一下就可以了
假設數組是a[m][n],可以用下面的方法
for(pass=1;pass<m*n;pass++)
{
for(i=0;i<m*n-1;i++)
{
if(a[i/n][i%n]>a[(i+1)/n][(i+1)%n])
{
hold=a[i/n][i%n];
a[i/n][i%n]=a[(i+1)/n][(i+1)%n];
a[(i+1)/n][(i+1)%n]=hold;
}
}
}
其實是做了一個二維和一維間的一一映射

E. 使用PHP描述冒泡排序和快速排序演算法,對象可以是一個數組

這個主要就是用for循環做的:第一步是用第一個數字2和其他的數字比較:4,6,8,2然後用4和其他數字比較:6,8,4,2然後用6和其他數字比較:8,6,4,2最後就是8,6,4,2

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冒泡排序怎麼排

按照你的要求,編寫的冒泡排序的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);

?>

H. 用php程序編寫冒泡排序、快速排序

不要做這些作業,如果你想學好PHP的話,因為PHP有更高效的函數可以直接調用完成排序,對於學習PHP來說,知道系統函數並熟練調用才是能力,冒泡法這樣的浪費光陰的東西,不可能在任何一個PHP項目中使用。

I. 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;
}

網頁鏈接

J. 關於PHP冒泡排序法。

前台輸入部分我就不寫了,管你是用字元串形式一起傳到後台還是說先用js存儲了再提交到後台,總之假設你前天都獲得了一個一維數組,這里給一個從大到小,一個從小到大的寫法:

從大到小:

<?php

/**

* 冒泡排序演算法示例

*/

// 這里以一維數組做演示

$demo_array = array(23,15,43,25,54,2,6,82,11,5,21,32,65);

// 第一層for循環可以理解為從數組中鍵為0開始循環到最後一個

for ($i=0;$i<count($demo_array);$i++) {

// 第二層將從鍵為$i的地方循環到數組最後

for ($j=$i+1;$j<count($demo_array);$j++) {

// 比較數組中相鄰兩個值的大小

if ($demo_array[$i] < $demo_array[$j]) {

$tmp = $demo_array[$i]; // 這里的tmp是臨時變數

$demo_array[$i] = $demo_array[$j]; // 第一次更換位置

$demo_array[$j] = $tmp; // 完成位置互換

}

}

}

// 列印結果集

echo '<pre>';

var_mp($demo_array);

echo '</pre>';

主要的代碼已經給你寫出來了,你自己把前端部分加上就行了

閱讀全文

與php數組冒泡相關的資料

熱點內容
安卓qq瀏覽器怎麼轉換到ios 瀏覽:292
不同編譯器的庫可以調用嗎 瀏覽:455
灰度信託基金加密 瀏覽:421
宿遷程序員兼職網上接單 瀏覽:924
電視編譯器怎麼設置 瀏覽:276
手機如何解壓漢字密碼的壓縮包 瀏覽:701
為什麼很多程序員愛用vim 瀏覽:828
安卓手機怎麼連接寶華韋健音響 瀏覽:555
12星座製作解壓球 瀏覽:867
java調用oracle數據 瀏覽:827
怎麼在伺服器上上傳小程序源碼 瀏覽:304
空中加油通達信指標公式源碼 瀏覽:38
分卷解壓只解壓了一部分 瀏覽:760
php網站自動登錄 瀏覽:705
合肥凌達壓縮機招聘 瀏覽:965
怎麼找到文件夾的圖標 瀏覽:237
linuxc編程pdf百度雲 瀏覽:192
會計pdf下載 瀏覽:835
c開源cf源碼 瀏覽:951
如何取消掉添加進app資源庫 瀏覽:732