在mysql结构二维数组里面指定字段排序
时间:2008-05-17 来源:剑心通明
$mysql[$center][$field]){//如果左边的值大于中值
swap(&$mysql[$left],&$mysql[$center]);
}
if($mysql[$left][$field] > $mysql[$right][$field])
swap(&$mysql[$left],&$mysql[$right]);
if($mysql[$center][$field] > $mysql[$right][$field])
swap(&$mysql[$center],&$mysql[$right]);
//现在应该是 $mysql[left] $pivot){}
if($i 0 && $mysql[$j-1][$field]>$tmp[$field]; $j--)
$mysql[$j] = $mysql[$j - 1];
$mysql[$j] = $tmp;
}
}//}}}
/** {{{ (desc)得快速排序算法的中值 Median3Desc($mysql,$field)
* @param array $mysql 要排序的mysql数组
* @param string $field 要根据field来排序mysql的数组
* @return mysql的中值
*/
function MysqlMedian3Desc(&$mysql,$field,$left = null, $right = null){
if(null == $left)
$left = 0;
if(null == $right)
$right = count($mysql)-1;
$center = ceil(($left+$right)/2);
if($mysql[$left][$field] $mysql[$right][$field])
swap(&$mysql[$center],&$mysql[$right]);
//现在应该是 $mysql[left] $pivot){}
//只要值大于中心点的值就左移,停下时j的位置就是第一个小于pivot的位置
while($mysql[--$j][$field] 0 && $mysql[$j-1][$field]
相关阅读 更多 +