這篇文章給大家介紹在php中對數(shù)組進行排序的方法有哪些,內(nèi)容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
成都創(chuàng)新互聯(lián)公司服務(wù)項目包括城口網(wǎng)站建設(shè)、城口網(wǎng)站制作、城口網(wǎng)頁制作以及城口網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,城口網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到城口省份的部分城市,未來相信會繼續(xù)擴大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!A.內(nèi)部排序(直接加載到內(nèi)存進行排序):包括交換式排序(冒泡和快速法)、選擇式排序、插入式排序
B.外部排序(因數(shù)據(jù)量大,需借助外部存儲進行排序):包括合并排序、直接合并排序
【冒泡排序:從后向前,依次比較相鄰元素的排序碼,若發(fā)現(xiàn)逆序則交換,一輪結(jié)束后,再來一輪,直到所有相鄰數(shù)無逆序,即按順序排完】
復制代碼 代碼如下:
function maoPao($arr,$style)//【默認傳遞的是值,不是地址。如果在$arr前加個&,則和$arr1指向同一個地址,函數(shù)外的$arr1也被排好了】
{
$temp=0;
$flag=false;
for($i=0;$i
for($j=0;$j
if($style=='bts') $op=$arr[$j]<$arr[$j+1];
else if($style=='stb') $op=$arr[$j]>$arr[$j+1];
if($op)
{
$temp=$arr[$j];
$arr[$j]=$arr[$j+1];
$arr[$j+1]=$temp;
$flag=true;
}
}
if($flag==false)
{
break;//當一次橫向循環(huán)下來flag==false;說明縱向循環(huán)里每次相鄰元素比較大小時if條件均不滿足,即從小到大已排好,無需再橫向循環(huán)
}
}
foreach ($arr as $key => $value)
{
echo $value.',';
}
}
$arr1=array(101,101,-9,-8,0,76,1,57,43,90,23,-56);
maoPao($arr1,'stb');//small to big
【選擇排序:第二個數(shù)至第n個數(shù)分別與第一個數(shù)比較,進行交換,第三個數(shù)至第n個數(shù)分別與第二個數(shù)比較,進行交換,直到排完】
復制代碼 代碼如下:
function selectSort($arr,$style)
{
$temp=0;
$flag=false;
for($i=0;$i
for($j=$i+1;$j
if($style=='bts') $op=$arr[$i]<$arr[$j];
else if($style=='stb') $op=$arr[$i]>$arr[$j];
if($op)
{
$temp=$arr[$i];
$arr[$i]=$arr[$j];
$arr[$j]=$temp;
$flag=true;
}
}
if($flag==false)
{
break;
}
}
foreach ($arr as $key => $value)
{
echo $value.',';
}
}
$arr1=array(21.5,33,90,7,-4,5,55,11);
selectSort($arr1,'stb');
復制代碼 代碼如下:
function selectSort($arr,$style)
{
$temp=0;
$flag=false;
for($i=0;$i
for($j=$i+1;$j
if($style=='bts') $op=$arr[$i]<$arr[$j];
else if($style=='stb') $op=$arr[$i]>$arr[$j];
if($op)
{
$temp=$arr[$i];
$arr[$i]=$arr[$j];
$arr[$j]=$temp;
$flag=true;
}
}
if($flag==false)
{
break;
}
}
foreach ($arr as $key => $value)
{
echo $value.',';
}
}
$arr1=array(21.5,33,90,7,-4,5,55,11);
selectSort($arr1,'stb');
echo "
";
關(guān)于在php中對數(shù)組進行排序的方法有哪些就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。