質問編集履歴
2
修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -98,4 +98,6 @@
|
|
98
98
|
|
99
99
|
No.2 => quickSort($right); //$right = [6,5]から No.4で返される値として[5,6]
|
100
100
|
|
101
|
-
とそれぞれ値がreturn $arr;の処理で返る事は理解しているのですが、それが何故
|
101
|
+
とそれぞれ値がreturn $arr;の処理で返る事は理解しているのですが、それが何故、関数の外側でquickSortを呼び出した際にソートされるのでしょうか?
|
102
|
+
|
103
|
+
上記No.1,2で$leftと$rightの配列が更新される理由がわかりません。
|
1
修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -80,11 +80,11 @@
|
|
80
80
|
|
81
81
|
この時
|
82
82
|
|
83
|
-
1.quickSort($left)
|
83
|
+
1.quickSort($left);
|
84
84
|
|
85
|
-
2.quickSort($right)
|
85
|
+
2.quickSort($right);
|
86
86
|
|
87
|
-
3.$arr = array_merge($left,[$pivot],$right)
|
87
|
+
3.$arr = array_merge($left,[$pivot],$right);
|
88
88
|
|
89
89
|
4.return $arr;
|
90
90
|
|
@@ -94,8 +94,8 @@
|
|
94
94
|
|
95
95
|
再帰処理の箇所
|
96
96
|
|
97
|
-
No.1 => quickSort($left) //$left = [3,2]から No.4で返される値として[2,3]
|
97
|
+
No.1 => quickSort($left); //$left = [3,2]から No.4で返される値として[2,3]
|
98
98
|
|
99
|
-
No.2 => quickSort($right) //$right = [6,5]から No.4で返される値として[5,6]
|
99
|
+
No.2 => quickSort($right); //$right = [6,5]から No.4で返される値として[5,6]
|
100
100
|
|
101
101
|
とそれぞれ値がreturn $arr;の処理で返る事は理解しているのですが、それが何故No.3を実行してソートされるのでしょうか?
|