首頁 > 後端開發 > php教程 > 冒泡排序PHP實作 java冒泡排序 冒泡排序法 冒泡排序c語言代

冒泡排序PHP實作 java冒泡排序 冒泡排序法 冒泡排序c語言代

WBOY
發布: 2016-07-29 08:54:55
原創
1090 人瀏覽過

<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><<span>$count</span>;<span>$i</span>++){
            <span>//表示每趟要比较的次数</span><span>//比较完一次后,最大的数就到了最右边,就可以少比较一次,所以要减去$</span><span>for</span> (<span>$j</span>=<span>$i</span>+<span>1</span>;<span>$j</span><<span>$count</span>- <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教程有興趣的朋友有所幫助。

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板