首頁 > 後端開發 > php教程 > 排卵期計算方法 PHP排序演算法的複習與總結

排卵期計算方法 PHP排序演算法的複習與總結

WBOY
發布: 2016-07-29 08:48:03
原創
994 人瀏覽過

直接上代碼吧!

複製程式碼 程式碼如下:


/*
* 插入排序(一維數組)
* 每次將一個排序的資料元素,插入前面已經排好順序的數字中的適當的位置,使數列依然有序;直到待排序的資料元素全部插入完成為止。
*/
function insertSort($arr){
if(!is_array($arr) || count($arr)==0){
return $arr;
}
$count = count($arr);
);
);
);
);
);
);
);
);
);
);
); for($i=1; $iif(isset($arr[$i])){
   $tmp = $arr[$i]; //取得後一個元素的值
   $j = $i - 1; //取得前面的下標
   while($arr[$j] > $tmp){ //如果前面一個比後面一個大, 這裡是從小到大
    $arr[$ j+1] = $arr[$j]; //把小的元素和前面的對換,直到移動到適當的位置,在移動下一個
    $arr[$j] = $tmp;
    $j- -;
   }
}
}
return $arr;
}
/*
* 選擇排序(一維數組)
* 每一趟從待排序的資料元素中選出最小(最大順序)的一個元素,每一趟從待排序的資料元素中選出最小(最大順序)的一個元素,每一趟從待排序的資料元素中選出一個最小(順序)放在已排好序的數列的最後,直到全部待排序的資料元素排完。
*/
function selectSort($arr){
if(!is_array($arr) || count($arr) == 0)
{
return $arr;
}
$count = count($arr)
}
$count = count($arr)
}
$count = count($arr)
}
for($i=0; $i$k = $i;
for($j=$i+1; $j  if ($ arr[$k] > $arr[$j])
    $k = $j; //找出最小的
   if ($k != $i){
     $tmp = $arr[$ arr[$i] = $arr[$k];
     $arr[$k] = $tmp;
   }
}
}
return $arr;
}
}
}
return $arr;
* 兩兩比較待排序資料元素的大小,發現兩個資料元素的次序相反即進行交換,直到沒有反序的資料元素為止
*/
function bubbleSort($array){
$count = count($ array);
if ($count return false;
}
for($i=0; $ifor($j=$count-1; $j >$i; $j--){
   if ($array[$j]     $tmp = $array[$j];
$array[$j] = $array[$j-1];
    $array[$j-1] = $tmp;
   }
}
}
   }
}
}
return $arrayre turn $array一維數組)
*
*/
function quickSort($array){
if (count($array) return $array;
}
$key = $array[0$le
} = array();
$right_arr = array();
for ($i=1; $i  if ($array[$i]   if ($array[$i] $left_arr[] = $array[$i];
  }else{
 $right_arr[] = $array[$i];
}
}
$left_arr = quickSort($left_arr); right_arr);
return array_merge($left_arr, array($key), $right_arr);
}
/**
* 依照元素的值進行排序
* strOrder 為排列的順序 asc 升序 desc 降序
*/
function sortByVal($arr,$strOrder='asc')
!is_array($arr) || count($arr)==0)
{
return $arr;
}
$arrReturn = array();
foreach($arr as $key=>$val)
{
foreach($arr as $key=>$val)
{
$arrKey[] = $key;
$arrVal[] = $val;
}
$count = count($arrVal);
if($count)
{
//建立key的順序數組
for($key =0;$key{
$arrKeyMap[$key] = $key;
}
//對值進行排序
for($i=0;$i{
for($j = $count-1; $j>$i;$j--)
{
//$bol = $strOrder == 'asc' ? $arrVal[$j]$arrVal[$j-1];
if($bol){
$tmp = $arrVal[$j] ;
$arrVal[$j] = $arrVal[$j-1];
$arrVal[$j-1] = $tmp;
//值的冒泡排序,引起key的陣列的交互作用
$keytmp = $arrKeyMap[$j];
$arrKeyMap[$j] = $arrKeyMap[$j-1];
$arrKeyMap[$j-1] = $keytmp;
}
}
}
if(count($arrKeyMap ))
{
foreach ($arrKeyMap as $val)
{
$arrReturn[] = $arrKey[$val];
}
}
return $arrReturn;
}
}
*
function arraySortByVal($arr,$keys,$type='asc'){
$keysvalue = $new_array = array();
foreach ($arr as $k=>$v){

$keysvalue[$k] = $v[$keys]; 🎜} 🎜if($type == 'asc'){ 🎜asort($keysvalue); 🎜}else{ 🎜arsort($keysvalue); 🎜} 🎜reset(value); foreach ($keysvalue as $k=>$v){ 🎜$new_array[$k] = $arr[$k]; 🎜} 🎜return $new_array; 🎜} 🎜🎜
對於下面的2個對於array的值進行排序的方法一個是自己實現的一個是使用了原生的PHP函數的,其實排序對於少量數據一般就單頁的數據量的數據還是可以的,如果涉及到大量的資料的排序,建議可以整合到MYSQL的基礎類別中來進行。

以上就介紹了排卵期計算方法 PHP排序演算法的複習和總結,包括了排卵期計算方法方面的內容,希望對PHP教程有興趣的朋友有所幫助。

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板