欧美成人午夜免费全部完,亚洲午夜福利精品久久,а√最新版在线天堂,另类亚洲综合区图片小说区,亚洲欧美日韩精品色xxx

PHP開發(fā)之PHP實(shí)現(xiàn)冒泡排序方法實(shí)例分享

2018-02-28 13:06:49 1401瀏覽

在現(xiàn)如今,隨著PHP程序開發(fā)中我們會(huì)遇到很多排序,而冒泡排序也是常見之一,想要做好PHP開發(fā),那么我們肯定要很輕松的使用PHP來(lái)實(shí)現(xiàn)冒泡排序,本篇文章來(lái)給大家講講PHP冒泡排序!我們一起來(lái)看看PHP實(shí)現(xiàn)冒泡排序的多種方法吧!



冒泡排序是非常容易理解和實(shí)現(xiàn),以從小到大排序舉例:

設(shè)數(shù)組長(zhǎng)度為N。

1.比較相鄰的前后二個(gè)數(shù)據(jù),如果前面數(shù)據(jù)大于后面的數(shù)據(jù),就將二個(gè)數(shù)據(jù)交換。

2.這樣對(duì)數(shù)組的第0個(gè)數(shù)據(jù)到N-1個(gè)數(shù)據(jù)進(jìn)行一次遍歷后,最大的一個(gè)數(shù)據(jù)就“沉”到數(shù)組第N-1個(gè)位置。

3.N=N-1,如果N不為0就重復(fù)前面二步,否則排序完成。

方案一:

<?php

functionbubble1_sort($array)

{

$count=count($array);

if($count<=1){

return$array;

}

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

for($j=0;$j<$count;$j++){

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

$temp=$array[$i];

$array[$i]=$array[$j];

$array[$j]=$temp;

}

}

}

return$array;

}

方案二:

<?php

functionbubble2_sort($array)

{

$count=count($array);

if($count<=1){

return$array;

}

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

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

if($array[$j-1]>$array[$j]){

$temp=$array[$j-1];

$array[$j-1]=$array[$j];

$array[$j]=$temp;

}

}

}

return$array;

}

方案三:

設(shè)置一個(gè)標(biāo)志,如果這一趟發(fā)生了交換,則為true,否則為false。明顯如果有一趟沒有發(fā)生交換,說明排序已經(jīng)完成。

<?php

functionbubble3_sort($array)

{

$count=count($array);

if($count<=1){

return$array;

}

$flag=true;

$j=$count;

while($flag){

$flag=false;

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

if($array[$i-1]>$array[$i]){

$temp=$array[$i-1];

$array[$i-1]=$array[$i];

$array[$i]=$temp;

$flag=true;

}

}

$j--;

}

return$array;

}

方案四:

如果有100個(gè)數(shù)的數(shù)組,僅前面10個(gè)無(wú)序,后面90個(gè)都已排好序且都大于前面10個(gè)數(shù)字,那么在第一趟遍歷后,最后發(fā)生交換的位置必定小于10,且這個(gè)位置之后的數(shù)據(jù)必定已經(jīng)有序了,記錄下這位置,第二次只要從數(shù)組頭部遍歷到這個(gè)位置就可以了。

<?php

functionbubble4_sort($array)

{

$count=count($array);

if($count<=1){

return$array;

}

$flag=$count;

while($flag>0){

$k=$flag;

$flag=0;

for($j=1;$j<$k;$j++){

if($array[$j-1]>$array[$j]){

$temp=$array[$j-1];

$array[$j-1]=$array[$j];

$array[$j]=$temp;

$flag=$j;

}

}

}

return$array;

}

方案五:

<?php

functionbubble_sort($array)

{

$count=count($array);

if($count<=1){

return$array;

}

for($i=$count-1;$i>0;$i--){

$flag=false;

for($j=0;$j<$count;$j++){

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

$temp=$array[$j];

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

$array[$j+1]=$temp;

$flag=true;

}

}

if(!$flag)

break;

}

return$array;

}

以上就是PHP實(shí)現(xiàn)冒泡排序多種方法的詳細(xì)介紹,最后想要了解更多關(guān)于PHP開發(fā)發(fā)展前景趨勢(shì),請(qǐng)關(guān)注扣丁學(xué)堂官網(wǎng)、微信等平臺(tái),扣丁學(xué)堂PHP培訓(xùn)IT職業(yè)在線學(xué)習(xí)教育平臺(tái)為您提供權(quán)威的PHP視頻教程系統(tǒng),通過千鋒扣丁學(xué)堂金牌講師在線錄制的一套PHP視頻教程課程,讓你快速掌握PHP從入門到精通開發(fā)實(shí)戰(zhàn)技能??鄱W(xué)堂PHP開發(fā)工程師技術(shù)交流群:374332265。



扣丁學(xué)堂微信公眾號(hào)



關(guān)注微信公眾號(hào)獲取更多學(xué)習(xí)資料



查看更多關(guān)于“php培訓(xùn)資訊的相關(guān)文章>>

標(biāo)簽: PHP培訓(xùn) PHP視頻教程 PHP從入門到精通 PHP學(xué)習(xí)路線圖 PHP開發(fā)工程師

熱門專區(qū)

暫無(wú)熱門資訊

課程推薦

微信
微博
15311698296

全國(guó)免費(fèi)咨詢熱線

郵箱:codingke@1000phone.com

官方群:148715490

北京千鋒互聯(lián)科技有限公司版權(quán)所有   北京市海淀區(qū)寶盛北里西區(qū)28號(hào)中關(guān)村智誠(chéng)科創(chuàng)大廈4層
京ICP備2021002079號(hào)-2   Copyright ? 2017 - 2022
返回頂部 返回頂部