Maison >développement back-end >tutoriel php >冒泡排序PHP实现 java冒泡排序 冒泡排序法 冒泡排序c语言代

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

WBOY
WBOYoriginal
2016-07-29 08:54:551101parcourir

<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教程有兴趣的朋友有所帮助。

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn