>  기사  >  백엔드 개발  >  PHP-논리-1

PHP-논리-1

WBOY
WBOY원래의
2016-08-08 09:20:161084검색

정렬된 배열의 재정렬을 달성하기 위한 두 가지 정렬 알고리즘 비교
1. 두 개의 $a,$b 포인터
2. PHP 내장 함수 사용
<code><span><span><?php</span><span>$array_a</span> = <span>array</span>(<span>2</span>,<span>5</span>,<span>7</span>);
    <span>$array_b</span> = <span>array</span>(<span>1</span>,<span>2</span>,<span>3</span>,<span>8</span>,<span>9</span>);
    <span>$length_a</span> = count(<span>$array_a</span>);
    <span>$length_b</span> = count(<span>$array_b</span>);
    <span>$array_c</span> = <span>array</span>();
    <span>$a</span> = <span>0</span>;
    <span>$b</span> = <span>0</span>;
    <span>$time_a</span> = microtime(<span>true</span>);
    <span>while</span>(<span>true</span>){
        <span>if</span>(<span>$a</span> == <span>$length_a</span> || <span>$b</span> == <span>$length_b</span>)
            <span>break</span>;
        <span>if</span>(<span>$array_a</span>[<span>$a</span>] <= <span>$array_b</span>[<span>$b</span>]){
            <span>$array_c</span>[] = <span>$array_a</span>[<span>$a</span>];
            ++<span>$a</span>;
        }<span>else</span>{
            <span>$array_c</span>[] = <span>$array_b</span>[<span>$b</span>];
            ++<span>$b</span>;
        }
    }
    <span>if</span>(<span>$a</span> == <span>$length_a</span>){
        <span>while</span>(<span>$b</span> < <span>$length_b</span>){
            <span>$array_c</span>[] = <span>$array_b</span>[<span>$b</span>++];
        }
    }
    <span>else</span>{
        <span>while</span>(<span>$a</span> < <span>$length_a</span>){
            <span>$array_c</span>[] = <span>$array_a</span>[<span>$a</span>++];
        }
    }
    <span>//var_dump($array_c);</span><span>$result_a</span> = microtime(<span>true</span>) - <span>$time_a</span>;

<span>//2.</span><span>$time_b</span> = microtime(<span>true</span>);
    <span>$array_c</span> = <span>array</span>();
    <span>$array_c</span> = array_merge(<span>$array_a</span>, <span>$array_b</span>);
    sort(<span>$array_c</span>);
    <span>//var_dump($array_c);</span><span>$result_b</span> = microtime(<span>true</span>) - <span>$time_b</span>;

    <span>echo</span> (<span>$result_b</span> - <span>$result_a</span>) > <span>0</span> ? <span>1</span> : <span>0</span>; 
<span>?></span></span></span></code>
저작권: 이 글은 블로거의 원본 글이므로 블로거의 허락 없이는 복제할 수 없습니다. 허가. .

이상으로 php-logic-1을 다양한 측면에서 소개하였습니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되었으면 좋겠습니다.

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