您現在的位置是:**首頁》php>>php
php 陣列排序
一:氣泡排序
基本思想
例:$arr = [1,-5,0];
$temp = 0;
//外層迴圈,只要確定排好n-1個數,則最後乙個數自然排好了
for($i=0;$i
//每次進行一次大迴圈時,最大數已經在最後了,則下次迴圈則不用再比較已經排好的數
for($j=0;$j
if($arr[$j]
$temp = $arr[$j];
$arr[$j] = $arr[$j+1];
$arr[$j+1] = $temp;
var_dump($arr);
二:選擇排序
基本思想
例:function selectsort(&$arr)
$temp=0;
for($i=0;$i
$minval = $arr[$i]; //假設$i就是最小值
$minindex = $i; //記錄認為最小值的小標
for($j=$i+1;$j
if($minval > $arr[$j]){
$minval = $arr[$j];
$minindex = $j;
$temp = $arr[$i];
$arr[$i] = $arr[$minindex];
$arr[$minindex] = $temp;
$arr = array(0,5,-1);
selectsort($arr);
三:插入排序
基本思想
例:function insertsort(&$arr)
//先預設下表為0這個數已經有序
for($i=1;$i
//insertval是準備插入的數
$insertval = $arr[$i];
//準備先和insertindex比較
$insertindex = $i-1;
while($insertindex>=0 && $insertval
//把較大的數後移
$arr[$insertindex+1] = $arr[$insertindex];
$insertindex--;
//插入(這時為$indexval找到適當的位置了)
php氣泡排序 陣列氣泡排序
又遇到排序問題,最簡單的氣泡排序,上學時候學過,結果很少用,最近又遇到了,記錄下 氣泡排序 需要時再反轉 dump array reverse new list 二維陣列的話根據陣列下元素對比就行 if new list i id new list i 1 id sort 函式用於對陣列單元從低到高...
912 排序陣列
今天的每日一題是排序,這是乙個入門問題。有多種解法,當然最簡單是直接呼叫sort方法進行排序,但是這對於練習並沒有什麼意義 題目鏈結 思路1 快排 每一次劃分pivot左邊小於pivot右邊大於pivot。遞迴劃分左邊,遞迴劃分右邊。思路2 歸併排序,先讓子串行有序,然後合併兩個有序陣列。流程 遞迴...
912 排序陣列
給你乙個整數陣列 nums,請你將該陣列公升序排列。示例 1 輸入 nums 5,2,3,1 輸出 1,2,3,5 示例 2 輸入 nums 5,1,1,2,0,0 輸出 0,0,1,1,2,5 1 nums.length 50000 50000 nums i 50000 排序的方法有很多種,本文採...