好吧,我承認最近我跟快速排序幹上了,各種測試編寫快速排序程式,現在就用php實現快速排序,跟之前文章不同,這次php的快排是能解決實際需要的。
有這樣一種情況,php裡面的關聯陣列,如果下面這樣的陣列資料:
$array = array (
array (
'name' => "xiao",
'age' => 3
),array (
'name' => 'wang',
'age' => 1
),array (
'name' => 'chen',
'age' => 2
) );
我們要對陣列針對age欄位進行排序,php自帶的函式,無論是那種sort,顯然都不能滿足我們的需求,因此我們可以自己寫乙個快速排序**,很快的實現我們的要求
php裡面是沒有指標存在的,所以當想要引用傳遞的時候,我們不能跟c**一樣,直接這樣寫quicksort(int *a, int begin, int end),而是要使用php的&運算子,將陣列的位址傳遞跟快速排序函式,這樣就能在php裡實現引用傳遞而不是值傳遞
quicksortprocess ( $array, 0, count ( $array ) - 1 );
print_r ( $array );
/** * description:快速排序中獲取中樞點的位置
*/function quickpartition(&$array, $left, $right)
if ($left < $right)
while ( $left < $right && $array [$left] ['age'] <= $stand ['age'] )
if ($left < $right) }
// 3.獲取中樞點位置
$array [$left] = $stand;
return $left;
}/**
* description:快速排序主流程函式
*/function quicksortprocess(&$array, $begin, $end)
}
我在專案上就用到了這個快速排序,挺開心的,不枉這個10月1假期花了n天ac快速排序的c**
php通過asort 給關聯陣列按照值排序的方法
php通過asort 給關聯陣列按照值排序,和sort的區別是,sort為陣列中的單元賦予新的鍵名。原有的鍵名將被刪除。nums array 程式設計客棧 o 5,two 2,three 1 asort nums foreach nums as key val www.cppcns.com 本文標題...
php關聯陣列和索引陣列差別
關聯陣列 沒有明確的索引鍵,預設從0開始作為索引鍵。temp arr array temp arr 0 已經在別處買到 temp arr 1 商品不符合需求 按print f 列印陣列 array 0 已經在別處買到 1 商品不符合需求 2 太高 3 不想買了 4 賣家沒有交易記錄 5 其他原因 轉...
1215 關聯陣列
一 陣列變數的限制 在前面講的陣列變數中,可以通過下標訪問其中的元素。例如,下列語句訪問陣列 array 的第三個元素 scalar array 2 雖然陣列很有用,但它們有乙個顯著缺陷,即很難記住哪個元素存貯的什麼內容。假如我們來寫乙個程式計算某檔案中首字母大寫的單詞出現的次數,用陣列來實現就比較...