Heim  >  Artikel  >  Backend-Entwicklung  >  冒泡排序PHP实现 java冒泡排序 冒泡排序法 冒泡排序c语言代

冒泡排序PHP实现 java冒泡排序 冒泡排序法 冒泡排序c语言代

WBOY
WBOYOriginal
2016-07-29 08:54:551057Durchsuche

<code><span>/**
 * 冒泡排序:稳定,时间复杂度 O(n^2)
 * 冒泡排序方法是最简单的排序方法。这种方法的基本思想是,
 * 将待排序的元素看作是竖着排列的“气泡”,较小的元素比较轻,
 * 从而要往上浮。在冒泡排序算法中我们要对这个“气泡”序列处理若干遍。
 * 所谓一遍处理,就是自底向上检查一遍这个序列,并时刻注意两个相邻的元素的顺序是否正确。
 * 如果发现两个相邻元素的顺序不对,即“轻”的元素在下面,就交换它们的位置。
 * 显然,处理一遍之后,“最轻”的元素就浮到了最高位置;处理二遍之后,“次轻”的元素就浮到了次高位置。
 * 在作第二遍处理时,由于最高位置上的元素已是“最轻”元素,所以不必检查。
 * 一般地,第i遍处理时,不必检查第i高位置以上的元素,因为经过前面i-1遍的处理,它们已正确地排好序。
 *<span> @param</span> array $arr
 *<span> @return</span> array
 */</span><span><span>function</span><span>bubbleSort</span><span>(array <span>$arr</span>)</span>{</span><span>$count</span> = count(<span>$arr</span>);
    <span>if</span>(<span>$count</span> > <span>1</span>){
        <span>//表示要跑N趟</span><span>for</span> (<span>$i</span>=<span>0</span>;<span>$i</span>$count;<span>$i</span>++){
            <span>//表示每趟要比较的次数</span><span>//比较完一次后,最大的数就到了最右边,就可以少比较一次,所以要减去$</span><span>for</span> (<span>$j</span>=<span>$i</span>+<span>1</span>;<span>$j</span>$count- <span>$i</span> - <span>1</span>;<span>$j</span>++){
                <span>if</span>(<span>$arr</span>[<span>$j</span>] > <span>$arr</span>[<span>$j</span> + <span>1</span>]){
                    <span>$temp</span> = <span>$arr</span>[<span>$j</span>];
                    <span>$arr</span>[<span>$j</span>] = <span>$arr</span>[<span>$j</span> + <span>1</span>];
                    <span>$arr</span>[<span>$j</span> + <span>1</span>] = <span>$temp</span>;
                }
            }
        }
    }<span>else</span>{
        <span>return</span><span>$arr</span>;
    }
}</code>
').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });

以上就介绍了冒泡排序PHP实现,包括了冒泡排序,php方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn