>백엔드 개발 >PHP 튜토리얼 >버블 정렬 PHP 구현 자바 버블 정렬 버블 정렬 방법 버블 정렬 C 언어 코드

버블 정렬 PHP 구현 자바 버블 정렬 버블 정렬 방법 버블 정렬 C 언어 코드

WBOY
WBOY원래의
2016-07-29 08:54:551095검색

<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 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.