php实现快速排序的有关问题
Jun 13, 2016 pm 12:56 PM
php实现快速排序的问题?
<br /> function quick(&$arr,$low,$high){<br /> <br /> $key = $low;<br /> <br /> for($i=$low,$j=$high;$i!=$j;){<br /> <br /> for(;$j>$key;){<br /> <br /> if($arr[$j]<$arr[$key]){<br /> <br /> list($arr[$j],$arr[$key])=swap($arr[$j],$arr[$key]); <br /> $key = $j;<br /> break;<br /> <br /> }else{<br /> <br /> $j--;<br /> <br /> }<br /> <br /> }<br /> <br /> for(;$i<$key;){<br /> <br /> if($arr[$i]>$arr[$key]){<br /> <br /> list($arr[$i],$arr[$key])=swap($arr[$i],$arr[$key]); <br /> $key = $i;<br /> break;<br /> <br /> }else{<br /> <br /> $i++;<br /> <br /> }<br /> <br /> }<br /> }<br /> <br /> if($high>$low){ <br /> <br /> quick($arr,$low,$key-1); <br /> quick($arr,$key+1,$high);<br /> <br /> }<br /> <br /> }<br /> <br /> $arr = array(7,4,9,1,3,2,6,8,0);<br /> quick($arr,0,8);<br /> print_r($arr);<br />
不递归的话单跑一遍正常(去掉if($high>$low)那一段)。一递归就不行了,Chrome转半天,应该是无限递归下去了。请问一下问题出在哪呢?
------解决方案--------------------
看得我眼冒金星

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Penyelesaian: Organisasi anda memerlukan anda menukar PIN anda

Cara melaraskan tetapan sempadan tetingkap pada Windows 11: Tukar warna dan saiz

Bagaimana untuk mendayakan atau melumpuhkan pratonton lakaran kecil bar tugas pada Windows 11

Bagaimana untuk menukar warna bar tajuk pada Windows 11?

Masalah Ralat OOBELANGUAGE dalam Pembaikan Windows 11/10

Paparkan panduan penskalaan pada Windows 11

10 Cara untuk Melaraskan Kecerahan pada Windows 11

Bagaimana untuk mematikan pengesahan penyemakan imbas peribadi pada iPhone dalam Safari?
