A. 用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);
拿去改吧
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冒泡排序法。
前台輸入部分我就不寫了,管你是用字元串形式一起傳到後台還是說先用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>';
主要的代碼已經給你寫出來了,你自己把前端部分加上就行了
D. 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;
}
網頁鏈接
E. 一帖看懂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);
F. 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);
?>
G. php幾種排序演算法實例詳解
下面給你介紹四種排序方法:
1) 插入排序(Insertion Sort)的基本思想是:
每次將一個待排序的記錄,按其關鍵字大小插入到前面已經排好序的子文件中的適當位置,直到全部記錄插入完成為止。實現代碼如下:
H. 冒泡排序法是如何排序的
冒泡排序演算法的原理:
1、比較相鄰的元素。如果第一個比第二個大,就交換他們兩個。
2、對每一對相鄰元素做同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。
3、針對所有的元素重復以上的步驟,除了最後一個。
4、持續每次對越來越少的元素重復上面的步驟,直到沒有任何一對數字需要比較。
(8)php冒泡排序演算法擴展閱讀:
冒泡排序(Bubble Sort),是一種計算機科學領域的較簡單的排序演算法。
它重復地走訪過要排序的元素列,依次比較兩個相鄰的元素,如果順序(如從大到小、首字母從Z到A)錯誤就把他們交換過來。走訪元素的工作是重復地進行直到沒有相鄰元素需要交換,也就是說該元素列已經排序完成。
這個演算法的名字由來是因為越小的元素會經由交換慢慢「浮」到數列的頂端(升序或降序排列),就如同碳酸飲料中二氧化碳的氣泡最終會上浮到頂端一樣,故名「冒泡排序」。
演算法穩定性:
冒泡排序就是把小的元素往前調或者把大的元素往後調。比較是相鄰的兩個元素比較,交換也發生在這兩個元素之間。所以,如果兩個元素相等,是不會再交換的;如果兩個相等的元素沒有相鄰,那麼即使通過前面的兩兩交換把兩個相鄰起來,這時候也不會交換,所以相同元素的前後順序並沒有改變,所以冒泡排序是一種穩定排序演算法。
I. 冒泡排序法是什麼
冒泡排序的英文Bubble Sort,是一種最基礎的交換排序。
大家一定都喝過汽水,汽水中常常有許多小小的氣泡,嘩啦嘩啦飄到上面來。這是因為組成小氣泡的二氧化碳比水要輕,所以小氣泡可以一點一點向上浮動。而我們的冒泡排序之所以叫做冒泡排序,正是因為這種排序演算法的每一個元素都可以像小氣泡一樣,根據自身大小,一點一點向著數組的一側移動。
冒泡排序演算法的原理如下:
比較相鄰的元素。如果第一個比第二個大,就交換他們兩個。
對每一對相鄰元素做同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。
針對所有的元素重復以上的步驟,除了最後一個。
持續每次對越來越少的元素重復上面的步驟,直到沒有任何一對數字需要比較。
具體如何來移動呢?讓我們來看一個栗子:
希望對您有所幫助!~