質問編集履歴

2

修正

2018/09/20 16:48

投稿

teaAI
teaAI

スコア36

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;の処理で返る事は理解しているのですが、それが何故No.3実行ソートされるのでしょうか?
101
+ とそれぞれ値がreturn $arr;の処理で返る事は理解しているのですが、それが何故、関数の外側でquickSort呼び出た際にソートされるのでしょうか?
102
+
103
+ 上記No.1,2で$leftと$rightの配列が更新される理由がわかりません。

1

修正

2018/09/20 16:48

投稿

teaAI
teaAI

スコア36

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を実行してソートされるのでしょうか?