Quick Sort In-place Implementation,quicksort_PHP教程
Quick Sort In-place Implementation,quicksort
在线运行PHP http://www.compileonline.com/execute_php_online.php
<span> 1</span> <?<span>php </span><span> 2</span> <span>function</span> swap( &<span>$a</span>, &<span>$b</span><span> ) </span><span> 3</span> <span>{ </span><span> 4</span> <span>$c</span> = <span>$a</span><span>; </span><span> 5</span> <span>$a</span> = <span>$b</span><span>; </span><span> 6</span> <span>$b</span> = <span>$c</span><span>; </span><span> 7</span> <span>} </span><span> 8</span> <span> 9</span> <span>/*</span><span>* </span><span>10</span> <span>* quick sort </span><span>11</span> <span>* ascend </span><span>12</span> <span>* in-place </span><span>13</span> <span>*/</span> <span>14</span> <span>function</span> quick_sort( &<span>$a</span><span> ) </span><span>15</span> <span>{ </span><span>16</span> <span>$s</span> = <span>count</span>( <span>$a</span> ); <span>//</span><span> size of a</span> <span>17</span> <span>if</span> ( <span>$s</span> < 2 ) <span>return</span><span>; </span><span>18</span> <span>$i</span> = 0; <span>//</span><span> index of pivot, for tracking pivot</span> <span>19</span> <span>$pivot</span> = <span>$a</span>[<span>$i</span><span>]; </span><span>20</span> <span>$l</span> = 0; <span>//</span><span> swap listener, if listens no swap, sort fini </span><span>21</span> <span>22</span> <span> // swap those smaller than pivot to the left</span> <span>23</span> <span>for</span> ( <span>$m</span> = 0; <span>$m</span> < <span>$s</span>; <span>$m</span>++<span> ) </span><span>24</span> <span> { </span><span>25</span> <span>if</span> ( <span>$a</span>[<span>$m</span>] < <span>$a</span>[<span>$i</span><span>] ) </span><span>26</span> <span> { </span><span>27</span> swap( <span>$a</span>[<span>$m</span>], <span>$a</span>[<span>$i</span><span>] ); </span><span>28</span> <span>$i</span> = <span>$m</span><span>; </span><span>29</span> <span>$l</span>++<span>; </span><span>30</span> <span> } </span><span>31</span> <span> } </span><span>32</span> <span>33</span> <span>//</span><span> swap those larger than pivot to the right</span> <span>34</span> <span>for</span> ( <span>$n</span> = 0; <span>$n</span> < <span>$i</span>; <span>$n</span>++<span>) </span><span>35</span> <span> { </span><span>36</span> <span>if</span> ( <span>$a</span>[<span>$n</span>] > <span>$a</span>[<span>$i</span><span>] ) </span><span>37</span> <span> { </span><span>38</span> swap( <span>$a</span>[<span>$n</span>], <span>$a</span>[<span>$i</span><span>] ); </span><span>39</span> <span>$i</span> = <span>$n</span><span>; </span><span>40</span> <span>$l</span>++<span>; </span><span>41</span> <span> } </span><span>42</span> <span> } </span><span>43</span> <span>44</span> <span>if</span> ( <span>$l</span> == 0 ) <span>return</span><span>; </span><span>45</span> <span>else</span> <span>$l</span> = 0<span>; </span><span>46</span> quick_sort( <span>$a</span><span> ); </span><span>47</span> <span>} </span><span>48</span> <span>49</span> <span>$arr</span> = <span>range</span>( 9, 0<span> ); </span><span>50</span> quick_sort( <span>$arr</span><span> ); </span><span>51</span> <span>echo</span> <span>implode</span>( ', ', <span>$arr</span><span> ); </span><span>52</span> ?>

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

Uniapp是一款跨平台的开发框架,其强大的跨端能力使得开发者可以快速方便地开发出各种应用。在Uniapp中实现拖拽排序和拖拽操作也是非常简单的,并且可以支持多种组件和元素的拖拽操作。本文将介绍如何使用Uniapp实现拖拽排序和拖拽操作,并提供具体的代码示例。拖拽排序功能在很多应用中都非常常见,例如可以用于实现列表的拖拽排序,图标的拖拽排序等。下面我们以列表

C++sort函数底层采用归并排序,其复杂度为O(nlogn),并提供不同的排序算法选择,包括快速排序、堆排序和稳定排序。

标题:C#中使用Array.Sort函数对数组进行排序的示例正文:在C#中,数组是一种常用的数据结构,经常需要对数组进行排序操作。C#提供了Array类,其中有Sort方法可以方便地对数组进行排序。本文将演示如何使用C#中的Array.Sort函数对数组进行排序,并提供具体的代码示例。首先,我们需要了解一下Array.Sort函数的基本用法。Array.So

如何使用C#中的List.Sort函数对列表进行排序在C#编程语言中,我们经常需要对列表进行排序操作。而List类的Sort函数正是为此设计的一个强大工具。本文将介绍如何使用C#中的List.Sort函数对列表进行排序,并提供具体的代码示例,帮助读者更好地理解和应用该函数。List.Sort函数是List类的一个成员函数,用于对列表中的元素进行排序。该函数接

示例在这个例子中,我们先看看list.sort()的用法,然后再继续。在这里,我们创建了一个列表并使用sort()方法按升序排序-#CreatingaListmyList=["Jacob","Harry","Mark","Anthony"]#DisplayingtheListprint("List=",myList)#SorttheListsinAscendingOrdermyList.sort(

在Python编程中,经常需要对列表或数组进行排序操作。Python提供了多种排序方法,包括sort、sorted和numpy.argsort等。本文将详细介绍这些排序方法的使用方法和注意事项。一、sort方法sort方法是Python列表中内置的方法,可以对列表进行原地排序(即有返回值但不产生新的排序对象),不需要额外的导入库。sort方法的参数有两个:k

使用PHP函数"sort"对数组按升序进行排序在PHP中,可以很方便地使用内置函数来对数组进行排序。其中,sort函数是最常用的函数之一,可以对数组按照升序进行排序。本文将介绍如何使用sort函数,并给出相应的代码示例。sort函数的语法如下:sort(array&$array,int$sort_flags=SORT_REGULAR):boo

sort排序函数的用法:1、对列表进行排序,默认情况下,sort函数按升序排序,因此最终输出的结果是按从小到大的顺序排列的;2、对元组进行排序,默认情况下,sort函数按元素的大小进行排序,因此最终输出的结果是按从小到大的顺序排列的;3、对字典进行排序,由于字典是无序的,因此排序后的结果仍然是原来的字典,使用一个lambda表达式作为key参数的值,用于指定排序的依据。
