6种经典排序算法的舞蹈版演示,排序不再难理解了

希尔排序

 

选择排序

 

插入排序

 

冒泡排序   百度百科

 

快速排序

 

归并排序

 

php版

BUBBLESORT(A)
for i <- 1 to length[A]
do for j <- length[A] downto i + 1
do if A[j] A[j-1]

 

 

';				//output format
	print_r($result);			//output result
	echo '
'; function bubbling_sort($arr){ //function start $size = count($arr)-1; //need to loop size is total length - 1 for ($i = 0; $i < $size; $i++) { //outside loop for ($j = 0; $j < $size-$i; $j++) { //inside loop if ($arr[$j] < $arr[$j+1]) { //compare big or small $temp = $arr[$j]; //start swap $arr[$j] = $arr[$j+1]; $arr[$j+1] = $temp; } } } return $arr; } ?>

 

';				//output format
	print_r($result);			//output result
	echo '
'; function bubbling_sort($arr){ //function start $size = count($arr)-1; //need to loop size is total length - 1 for ($i = 0; $i < $size; $i++) { //outside loop for ($j = 0; $j < $size-$i; $j++) { //inside loop if ($arr[$j] < $arr[$j+1]) { //compare big or small //swap two number without temp variable $arr[$j] = $arr[$j+1] + $arr[$j]; $arr[$j+1] = $arr[$j] - $arr[$j+1]; $arr[$j] = $arr[$j] - $arr[$j+1]; } } } return $arr; } ?>

 

';
print_r(quickSort($arr));
echo '
'; ?>

 

=$pivot && $i<$j) $j--;
		if($i<$j)
		{
			$arr[$i] = $arr[$j];
			$i++;
		}
		while($arr[$i]<=$pivot && $i<$j) $i++;
		if($i<$j)
		{
			$arr[$j] = $arr[$i];
			$j--;
		}
	}
	$arr[$i]=$pivot;
	if($_i<$i-1)
	{
		_quick_sort($arr,$_i,$i-1);
	}
	if($_j>$i+1)
	{
		_quick_sort($arr,$i+1,$_j);
	}
}

$just = array(49,38,97,76,13,27);
print_r( quick_sort($just) );

 

$array[$j]) { //表明当前最小的还比当前的元素大
				$min = $j;//赋值新的最小的
			}
		}

		/* swap $array[$i] and $array[$min] 即将当前内循环的最小元素放在$i位置上*/
		$temp = $array[$min];
		$array[$min] = $array[$i];
		$array[$i] = $temp;
	}
	return $array;
}
$old_array = array(3,4,1,6,5,2);
$new_array = selection_sort($old_array);

echo '
';
print_r($new_array);
echo '
'; ?>

 

你可能感兴趣的:(算法,C)