1. 程式人生 > >陣列氣泡排序 二維陣列元素排序

陣列氣泡排序 二維陣列元素排序

/**************氣泡排序**/

$intarr = array(3,2,7,1,55,44);

function maopaoSort($str){
			
	  for($i=0;$i<count($str);$i++){
		  for($k=1;$k<count($str)-$i;$k++){
			if($str[$k-1]>$str[$k]){
				$tmp = $str[$k-1];
				$str[$k-1] = $str[$k];
				$str[$k] = $tmp;
				}
			}
		}

      return $str; 
}

$res = maopaoSort($intarr);

print_r($res);//列印


/**
 * 對二維陣列元素進行排序
 *
 */

$books = array(
	array('name'=>'php','price'=>100),
	array('name'=>'java','price'=>99),
	array('name'=>'mysql','price'=>200),
	array('name'=>'photoshop','price'=>20)
);

//方法一 :氣泡排序
function booksSort($books){
	for($i=0;$i<count($books);$i++){
		for($j=1;$j<count($books)-$i;$j++){
			if($books[$j-1]['price']>$books[$j]['price']){
					$tmp_name = $books[$j-1]['name'];
					$tmp_price = $books[$j-1]['price'];
				
					$books[$j-1]['name'] = $books[$j]['name'];
					$books[$j-1]['price'] = $books[$j]['price'];
					
					$books[$j]['name'] = $tmp_name;
					$books[$j]['price'] = $tmp_price;
				}
		}
	}
	
	return $books;
}
print_r(booksSort($books));//列印

//方法二:
function booksSortTwo($arr){
	$tmp_arr = array();
	foreach($arr as $k=>$v){
			$tmp_arr[$k] = $v['price'];
		}
	asort($tmp_arr);
	foreach($tmp_arr as $kt=>$vt){
			$tmp_arr2[$kt] = $arr[$kt];
			$resarr[] = $tmp_arr2[$kt];
		}
	return $resarr;
	}

print_r(booksSortTwo($books));//列印