>  기사  >  백엔드 개발  >  홀수가 짝수 앞에 오도록 PHP에서 배열의 내부 정렬을 구현하는 방법(코드)

홀수가 짝수 앞에 오도록 PHP에서 배열의 내부 정렬을 구현하는 방법(코드)

不言
不言원래의
2018-09-17 16:28:471999검색

이 기사의 내용은 PHP에서 홀수가 짝수 앞에 오도록 하는 방법(코드)에 대한 내용입니다. 필요한 친구가 참조할 수 있습니다. 나는 그것이 당신에게 도움이 되기를 바랍니다.

정수 배열을 입력하고, 배열의 숫자 순서를 조정하는 함수를 구현하여 모든 홀수는 배열의 첫 번째 절반에 위치하고 모든 짝수는 두 번째에 위치합니다. 배열의 절반이고 홀수와 홀수가 보장되면 짝수와 짝수 사이의 상대적 위치는 변경되지 않습니다.

1. 배열을 탐색하고, 요소가 홀수인지 짝수인지 확인하고, 새 배열에 삽입하고, 시간에 따라 공간을 변경합니다.

2. 공간에 삽입정렬이라는 개념이 원래의 주소정렬이다

2.1 앞에서 뒤로 탐색하여 현재 주소가 홀수인지 판단
# 🎜🎜#

2.2 현재 홀수부터 시작하여 뒤에서 앞으로 이동합니다. 짝수이면 다음 숫자로 이동합니다.


2.3 현재 홀수입니다. 삽입 위치

for i=1;i<arr.length;i++
    target=arr[i]
    if arr[i]%2==1
        j=i-1
        while j>=0&&arr[j]%2==0
            arr[j+1]=arr[j]
            j--
        arr[j+1]=target
<?php
$arr=array(1,2,3,4,5,6,7,8,9,10);
function reOrderArray($arr){
        $length=count($arr);
        //从前往后遍历
        for($i=1;$i<$length;$i++){
                //判断当前元素是奇数
                $target=$arr[$i];
                if($target%2==1){
                        //从后往前遍历,如果有偶数就往后移动一位
                        $j=$i-1;
                        while($j>=0 && $arr[$j]%2==0){
                                $arr[$j+1]=$arr[$j];
                                $j--;
                        }   
                        //把奇数插入位置
                        $arr[$j+1]=$target;
                }   
        }   
        return $arr;
}

$arr2=reOrderArray($arr);
var_dump($arr2);
array(10) {
  [0]=>
  int(1)
  [1]=>
  int(3)
  [2]=>
  int(5)
  [3]=>
  int(7)
  [4]=>
  int(9)
  [5]=>
  int(2)
  [6]=>
  int(4)
  [7]=>
  int(6)
  [8]=>
  int(8)
  [9]=>
  int(10)
}

위 내용은 홀수가 짝수 앞에 오도록 PHP에서 배열의 내부 정렬을 구현하는 방법(코드)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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