當前位置:首頁 » 編程語言 » 冒泡演算法PHP

冒泡演算法PHP

發布時間: 2022-08-15 19:17:52

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

?>

Ⅱ 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;
}

網頁鏈接

Ⅲ 一帖看懂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);

Ⅳ 關於PHP冒泡排序法。

你的那個asort函數裡面實現的就是類似他寫的冒泡演算法,排序演算法有很多種。他只是用了自己寫冒泡演算法而已。沒有像你使用了php自帶的排序函數。

Ⅳ PHP 怎麼用冒泡演算法進行排序呢

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

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

Ⅶ 關於php的冒泡排序,請教一個問題

你的那個asort函數裡面實現的就是類似他寫的冒泡演算法,排序演算法有很多種。他只是用了自己寫冒泡演算法而已。沒有像你使用了php自帶的排序函數。

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

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

Ⅸ 用PHP寫冒泡排序法

function bubble_sort($array)
{
$count = count($array);
if($count <= 0)
{
return false;
}
for($i=0; $i<$count; $i++)
{
for($k=$count-1; $k>$i; $k--)
{
if($array[$k] < $array[$k-1])
{
$tmp = $array[$k];
$array[$k] = $array[$k-1];
$array[$k-1] = $tmp;
}
}
}
return $array;
}
$arr = array(3, 5, 1, 4, 2);
$s = bubble_sort($arr);
print_r($s);

拿去改吧

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

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

熱點內容
怎麼用紙做豌豆解壓玩具 發布:2022-09-29 04:39:17 瀏覽:732
雲存儲播放時間表 發布:2022-09-29 03:58:31 瀏覽:598
新英朗4缸買哪個配置劃算 發布:2022-09-29 03:51:54 瀏覽:122
紅旗5配置怎麼選 發布:2022-09-29 03:44:21 瀏覽:887
linux安裝maven 發布:2022-09-29 03:29:18 瀏覽:595
吉利星瑞豪華天窗版有什麼功能配置 發布:2022-09-29 03:20:28 瀏覽:822
伺服器固定ip和彈性ip一起用 發布:2022-09-29 02:40:49 瀏覽:510
gpioc語言 發布:2022-09-29 02:34:40 瀏覽:959
h乚c語言 發布:2022-09-29 02:34:39 瀏覽:410
迷你世界體驗服正式服密碼是多少 發布:2022-09-29 02:21:19 瀏覽:419