Jadual Kandungan
Quick Sort,quicksort
Rumah php教程 php手册 Quick Sort,quicksort

Quick Sort,quicksort

Jun 13, 2016 am 09:21 AM
sort

Quick Sort,quicksort

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

<span> 1</span> <?<span>php

</span><span> 2</span> <span>function</span> sortQuick(<span>$a</span>){ <span>#</span><span> a is an array of numbers</span>

<span> 3</span>

<span> 4</span>     <span>#</span><span> length of a</span>

<span> 5</span>     <span>$m</span> = <span>count</span>(<span>$a</span><span>);

</span><span> 6</span>    

<span> 7</span>     <span>if</span>(<span>$m</span> < 2<span>){

</span><span> 8</span>         <span>return</span> <span>$a</span><span>;

</span><span> 9</span> <span>    }

</span><span>10</span>    

<span>11</span>     <span>$pivot</span> = <span>$a</span>[0<span>];

</span><span>12</span>    

<span>13</span>     <span>//</span><span> declare two partitions</span>

<span>14</span>     <span>$left</span> = <span>$right</span> = <span>array</span><span>();

</span><span>15</span>    

<span>16</span>     <span>for</span>(<span>$i</span> = 1; <span>$i</span> < <span>$m</span>; <span>$i</span>++<span>){

</span><span>17</span>         <span>if</span>(<span>$a</span>[<span>$i</span>] < <span>$pivot</span><span>){

</span><span>18</span>             <span>$left</span>[] = <span>$a</span>[<span>$i</span><span>];

</span><span>19</span> <span>        }

</span><span>20</span>         <span>else</span><span>{

</span><span>21</span>             <span>$right</span>[] = <span>$a</span>[<span>$i</span><span>];

</span><span>22</span> <span>        }

</span><span>23</span> <span>    }

</span><span>24</span>    

<span>25</span>     <span>//</span><span> use recursion to now sort the left and right lists</span>

<span>26</span>     <span>return</span> <span>array_merge</span>(sortQuick(<span>$left</span>), <span>array</span>(<span>$pivot</span>), sortQuick(<span>$right</span><span>));

</span><span>27</span> <span>}

</span><span>28</span>

<span>29</span> <span>$arr</span> = <span>range</span>(5, 0<span>);

</span><span>30</span> <span>echo</span> <span>implode</span>(', ', sortQuick(<span>$arr</span><span>));

</span><span>31</span>

<span>32</span> <span>//</span><span> 0, 1, 2, 3, 4, 5</span>

<span>33</span> ?>

Salin selepas log masuk

 

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Tag artikel panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara melaksanakan pengisihan seret dan lepas dan operasi seret dan lepas dalam uniapp Cara melaksanakan pengisihan seret dan lepas dan operasi seret dan lepas dalam uniapp Oct 19, 2023 am 09:39 AM

Cara melaksanakan pengisihan seret dan lepas dan operasi seret dan lepas dalam uniapp

Terokai prinsip asas dan pemilihan algoritma bagi fungsi isihan C++ Terokai prinsip asas dan pemilihan algoritma bagi fungsi isihan C++ Apr 02, 2024 pm 05:36 PM

Terokai prinsip asas dan pemilihan algoritma bagi fungsi isihan C++

Isih tatasusunan menggunakan fungsi Array.Isih dalam C# Isih tatasusunan menggunakan fungsi Array.Isih dalam C# Nov 18, 2023 am 10:37 AM

Isih tatasusunan menggunakan fungsi Array.Isih dalam C#

Bagaimana untuk mengisih senarai menggunakan fungsi List.Sort dalam C# Bagaimana untuk mengisih senarai menggunakan fungsi List.Sort dalam C# Nov 17, 2023 am 10:58 AM

Bagaimana untuk mengisih senarai menggunakan fungsi List.Sort dalam C#

Mengapa list.sort() tidak mengembalikan senarai diisih dalam Python? Mengapa list.sort() tidak mengembalikan senarai diisih dalam Python? Sep 18, 2023 am 09:29 AM

Mengapa list.sort() tidak mengembalikan senarai diisih dalam Python?

Pengisihan senarai: Penjelasan terperinci tentang kaedah pengisihan, disusun dan numpy.argsort Python Pengisihan senarai: Penjelasan terperinci tentang kaedah pengisihan, disusun dan numpy.argsort Python Jun 10, 2023 am 09:22 AM

Pengisihan senarai: Penjelasan terperinci tentang kaedah pengisihan, disusun dan numpy.argsort Python

Cara menggunakan fungsi pengisihan isihan Cara menggunakan fungsi pengisihan isihan Sep 04, 2023 am 11:11 AM

Cara menggunakan fungsi pengisihan isihan

Gunakan fungsi PHP 'sort' untuk mengisih tatasusunan dalam tertib menaik Gunakan fungsi PHP 'sort' untuk mengisih tatasusunan dalam tertib menaik Jul 25, 2023 am 09:28 AM

Gunakan fungsi PHP 'sort' untuk mengisih tatasusunan dalam tertib menaik

See all articles