Bài tập Sử dụng giải thuật sắp xếp trộn (Merge Sort) để sắp xếp các phần tử.

Bạn cũng có thể tìm hiểu về thuật toán này trong bài: Giải thuật sắp xếp trộn (Merge Sort)

PHP script

Dưới đây là phần PHP code để giải bài tập PHP trên:

<html>
   
   <head>
      <title>Giải thuật sắp xếp trộn (Merge Sort) trong PHP</title>
   </head>
   <body>
   
       <?php
        function merge_sort($my_array){  
			if(count($my_array) == 1 ) return $my_array;  
			$mid = count($my_array) / 2;  
			$left = array_slice($my_array, 0, $mid);  
			$right = array_slice($my_array, $mid);  
			$left = merge_sort($left);  
			$right = merge_sort($right);  
			return merge($left, $right);  
		}  
		   
		function merge($left, $right){  
			$res = array();  
			while (count($left) > 0 && count($right) > 0){  
				if($left[0] > $right[0]){  
					$res[] = $right[0];  
					$right = array_slice($right , 1);  
				}else{  
					$res[] = $left[0];  
					$left = array_slice($left, 1);  
				}  
			}  
			while (count($left) > 0){  
				$res[] = $left[0];  
				$left = array_slice($left, 1);  
			}  
			while (count($right) > 0){  
				$res[] = $right[0];  
				$right = array_slice($right, 1);  
			}  
			return $res;  
		}  
		$test_array = array(100, 54, 7, 2, 5, 4, 1);  
		echo "Mảng ban đầu:<br>";  
		echo implode(', ',$test_array );  
		echo "<br>Mảng đã qua sắp xếp:<br>";  
		echo implode(', ',merge_sort($test_array))."<br>";
       ?>
       
   </body>
</html>

Kết quả

Lưu PHP code trên trong một file có tên là test.php trong htdocs, sau đó mở trình duyệt và gõ địa chỉ http://localhost:8080/test.php sẽ cho kết quả:

Giải thuật sắp xếp trộn (Merge Sort) trong PHP | Bài tập PHP có giải

Các giải thuật sắp xếp trong PHP khác có trên s2sontech:




Bình luận (0)

Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Michael Gough
Learning English Everyday