php实现二路归并排序
<span> 1</span><span>$arr</span> = [9, 43, 12, 0, 87, 1<span>]; </span><span> 2</span><span>function</span> merge_sort(&<span>$arr</span><span>){ </span><span> 3</span> _merge_sort(<span>$arr</span>, <span>$arr</span>, 0, <span>count</span>(<span>$arr</span>) - 1<span>); </span><span> 4</span><span>} </span><span> 5</span><span> 6</span><span>function</span> _merge_sort(&<span>$s_arr</span>, &<span>$d_arr</span>, <span>$i</span>, <span>$j</span><span>){ </span><span> 7</span><span>if</span>(<span>$i</span> > <span>$j</span><span>){ </span><span> 8</span><span>return</span><span>; </span><span> 9</span><span> } </span><span>10</span><span>if</span>(<span>$i</span> == <span>$j</span><span>){ </span><span>11</span><span>echo</span> 'aa'<span>; </span><span>12</span><span>$d_arr</span>[<span>$i</span>] = <span>$s_arr</span>[<span>$i</span><span>]; </span><span>13</span><span>return</span><span>false</span><span>; </span><span>14</span><span> } </span><span>15</span><span>$tmp_arr</span> = <span>array</span><span>(); </span><span>16</span><span>$m</span> = <span>intval</span>((<span>$i</span> + <span>$j</span>)/2<span>); </span><span>17</span><span>echo</span><span>$m</span><span>; </span><span>18</span><span>if</span>(<span>$i</span> $m<span>){ </span><span>19</span> _merge_sort(<span>$s_arr</span>, <span>$tmp_arr</span>, <span>$i</span>, <span>$m</span><span>); </span><span>20</span><span> } </span><span>21</span><span>if</span>(<span>$m</span>+1 $j<span> ){ </span><span>22</span> _merge_sort(<span>$s_arr</span>, <span>$tmp_arr</span>, <span>$m</span>+1, <span>$j</span><span>); </span><span>23</span><span> } </span><span>24</span> merge(<span>$tmp_arr</span>, <span>$d_arr</span>, <span>$i</span>, <span>$m</span>, <span>$j</span><span>); </span><span>25</span><span>} </span><span>26</span> //$s_arr中的$start到$m与$m到$end两个序列都是有序的,将这两个序列合并到$d_arr里面 <span>27</span><span>function</span> merge(&<span>$s_arr</span>, &<span>$d_arr</span>, <span>$start</span>, <span>$m</span>, <span>$end</span><span>){ </span><span>28</span><span>$i</span> = <span>$start</span>; <span>$j</span> = <span>$m</span>+1;<span>$d_i</span> = <span>$i</span><span>; </span><span>29</span><span>while</span>(<span>$i</span> $m && <span>$j</span> $end<span>){ </span><span>30</span><span>if</span>(<span>$s_arr</span>[<span>$i</span>] > <span>$s_arr</span>[<span>$j</span><span>]){ </span><span>31</span><span>$d_arr</span>[<span>$d_i</span>++] = <span>$s_arr</span>[<span>$i</span>++<span>]; </span><span>32</span><span>//</span><span>$i++;</span><span>33</span> }<span>else</span><span>{ </span><span>34</span><span>$d_arr</span>[<span>$d_i</span>++] = <span>$s_arr</span>[<span>$j</span>++<span>]; </span><span>35</span><span> } </span><span>36</span><span> } </span><span>37</span><span>while</span>(<span>$i</span> $m<span>){ </span><span>38</span><span>$d_arr</span>[<span>$d_i</span>++] = <span>$s_arr</span>[<span>$i</span>++<span>]; </span><span>39</span><span>//</span><span>$i++;</span><span>40</span><span> } </span><span>41</span><span>while</span> (<span>$j</span> $end<span>) { </span><span>42</span><span>$d_arr</span>[<span>$d_i</span>++] = <span>$s_arr</span>[<span>$j</span>++<span>]; </span><span>43</span><span> } </span><span>44</span> }
以上就介绍了php实现二路归并排序,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat 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

Lapisan bawah fungsi C++ sort menggunakan isihan gabungan, kerumitannya ialah O(nlogn), dan menyediakan pilihan algoritma pengisihan yang berbeza, termasuk isihan pantas, isihan timbunan dan isihan stabil.

Uniapp ialah rangka kerja pembangunan merentas platform Keupayaan merentas hujungnya yang berkuasa membolehkan pembangun membangunkan pelbagai aplikasi dengan cepat dan mudah. Ia juga sangat mudah untuk melaksanakan operasi pengisihan seret dan lepas dan seret dan lepas dalam Uniapp, dan ia boleh menyokong operasi seret dan lepas pelbagai komponen dan elemen. Artikel ini akan memperkenalkan cara menggunakan Uniapp untuk melaksanakan pengisihan drag-and-drop dan operasi drag-and-drop, serta memberikan contoh kod khusus. Fungsi pengisihan seret dan lepas adalah sangat biasa dalam banyak aplikasi Contohnya, ia boleh digunakan untuk melaksanakan pengisihan seret dan lepas senarai, seret dan lepaskan ikon, dsb. Di bawah kami senaraikan

Penyelesaian kepada kegagalan permulaan docker: 1. Semak status berjalan, dan kemudian lepaskan memori yang diduduki melalui arahan "echo 3 > /proc/sys/vm/drop_caches" 2. Gunakan "$netstat -nltp|grep .. . " perintah untuk menyemak sama ada port telah diduduki. Jika ia didapati telah diduduki selepas pergi dalam talian, tukarkannya kepada port yang tersedia dan kemudian mulakan semula.

Tajuk: Contoh menggunakan fungsi Array.Sort untuk mengisih tatasusunan dalam Teks C#: Dalam C#, tatasusunan ialah struktur data yang biasa digunakan dan operasi pengisihan tatasusunan selalunya diperlukan. C# menyediakan kelas Array, yang mempunyai kaedah Isih untuk menyusun tatasusunan dengan mudah. Artikel ini akan menunjukkan cara menggunakan fungsi Array.Sort dalam C# untuk mengisih tatasusunan dan memberikan contoh kod khusus. Pertama, kita perlu memahami penggunaan asas fungsi Array.Sort. Susunan.Jadi

Apabila pengaturcaraan dalam PHP, kita selalunya perlu menggabungkan tatasusunan. PHP menyediakan fungsi array_merge() untuk melengkapkan penggabungan tatasusunan, tetapi apabila kunci yang sama wujud dalam tatasusunan, fungsi ini akan menimpa nilai asal. Untuk menyelesaikan masalah ini, PHP juga menyediakan fungsi array_merge_recursive() dalam bahasa, yang boleh menggabungkan tatasusunan dan mengekalkan nilai kunci yang sama, menjadikan reka bentuk program lebih fleksibel. array_merge

Penyelesaian kepada ralat permulaan nod: 1. Jalankan "nod xx.js" terus dalam terminal 2. Tambah item permulaan "skrip": {"test": "echo \"Error: no test specified\" && exit 1 "; ,"start":"node service.js"}"; 3. Laksanakan semula "npm start".

Apakah itu AMP Coin? Token AMP telah dicipta oleh pasukan Synereo pada tahun 2015 sebagai mata wang dagangan utama platform Synereo. Token AMP bertujuan untuk memberikan pengguna pengalaman ekonomi digital yang lebih baik melalui pelbagai fungsi dan kegunaan. Tujuan Token AMP Token AMP mempunyai pelbagai peranan dan fungsi dalam platform Synereo. Pertama, sebagai sebahagian daripada sistem ganjaran mata wang kripto platform, pengguna dapat memperoleh ganjaran AMP dengan berkongsi dan mempromosikan kandungan, mekanisme yang menggalakkan pengguna untuk mengambil bahagian secara lebih aktif dalam aktiviti platform. Token AMP juga boleh digunakan untuk mempromosikan dan mengedarkan kandungan pada platform Synereo. Pengguna boleh meningkatkan keterlihatan kandungan mereka pada platform dengan menggunakan token AMP untuk menarik lebih ramai penonton melihat dan berkongsi

Contoh Dalam contoh ini, kita mula-mula melihat penggunaan list.sort() sebelum meneruskan. Di sini, kami telah mencipta senarai dan mengisihnya dalam tertib menaik menggunakan kaedah sort() - #CreatingaListmyList=["Jacob","Harry","Mark","Anthony"]#DisplayingtheListprint("List=",myList)# SorttheListsinAscendingOrdermyList .sort(
