목차
특수한 모양의 배열 순회" >특수한 모양의 배열 순회
빠른 정렬 알고리즘" >빠른 정렬 알고리즘
삽입 정렬 알고리즘" >삽입 정렬 알고리즘
병합 정렬 알고리즘" >병합 정렬 알고리즘
백엔드 개발 PHP 튜토리얼 PHP에서 배열 정렬을 구현하는 방법: 빠른 정렬, 삽입 정렬, 병합 정렬 알고리즘

PHP에서 배열 정렬을 구현하는 방법: 빠른 정렬, 삽입 정렬, 병합 정렬 알고리즘

Jul 19, 2018 pm 02:20 PM
배열 정렬

PHP에서 배열을 정렬하는 방법은 여러 가지가 있으며 각 배열 정렬에는 고유한 원리가 있습니다. 빠른 정렬 알고리즘, 병합 정렬 알고리즘 및 삽입 정렬 알고리즘의 예를 자세히 살펴보겠습니다.

특수한 모양의 배열 순회

다음 배열에 있는 숫자의 평균을 구하세요.

$arr1 = array(
1, 2, array(31, 32, 33), 4,
array(51, 52, 53, array(541, 542, 543, 544) ),
6, array(71, 72, 73),
);
$count = 0; //计数
$sum = GetArraySum($arr1);
echo “\
로그인 후 복사

빠른 정렬 알고리즘

원리 설명:

이러한 배열의 경우: [5, 1,2 , 6,7 ];

첫 번째 항목을 꺼내고(가운데 배열로 사용) 나머지 항목을 그것과 비교하여 두 개의 배열로 나눕니다.

왼쪽 배열 항목은 가운데 항목보다 작습니다. 오른쪽 배열 항목은 중간 항목보다 작지 않습니다.

왼쪽 배열과 오른쪽 배열이 이미 정렬된 배열인 경우 이 세 개를 병합하여 최종 결과를 얻습니다.

왼쪽 배열과 오른쪽 배열이 아직 정렬된 배열이 아닌 경우 계속해서 이 함수를 재귀적으로 사용하여 정렬된 배열을 얻습니다.

주요 다이어그램:

PHP에서 배열 정렬을 구현하는 방법: 빠른 정렬, 삽입 정렬, 병합 정렬 알고리즘

주요 데이터:

$arr1 = [5, 2, 1, 6,7] //원리 1

Small: [2, 1], Big 하나: [6, 7], 중간 하나: [5]

세 개 결합: [1, 2, 5, 6, 7];

$arr1 = [2, 1] //효과적으로 원리를 설명합니다. 2

가운데: [2], 왼쪽: [1], []

특정 사례:

$arr1 = [5, 2, 4, 6, 1, 3];
$arr1 = [5, 2, 4, 6, 1, 3];
//$arr1 = [5, 3, 2, 8, 7];
echo “\
로그인 후 복사

삽입 정렬 알고리즘

원리 설명:

이러한 배열의 경우: [2, 3, 4 , 1 ];

이미 정렬된 배열에 특정 숫자 n을 삽입하려면

이 배열의 항목과 n을 뒤에서 앞으로 비교하면 됩니다. 단, 특정 항목이 n보다 크다면

움직이기만 하면 됩니다. 항목을 한 자리 뒤로 이동한 다음 계속 앞으로 가져와서 비교합니다. n보다 크면 한 자리 뒤로 이동합니다.

결국 n보다 큰 것이 없을 때에는 뒤로 이동할 때 비웠던 자리에 n을 넣어줍니다.

배열의 경우 첫 번째 항목은 "정렬된" 배열로 간주될 수 있고,

그런 다음 두 번째 항목은 위의 원칙에 따라 "삽입 정렬"될 수 있으므로 처음 두 항목은 정렬될 수 있으며,

그리고 두 개의 요소가 있는 "정렬된 배열"입니다. 이어서 비유가 이어집니다.

원리 다이어그램:

PHP에서 배열 정렬을 구현하는 방법: 빠른 정렬, 삽입 정렬, 병합 정렬 알고리즘

원리 데이터:

$arr1 = [2, 3, 4, 1] //원리 1

$arr1 = [2, 3, 1]; / /원리 2

$arr1 = [2, 1]; //원리 3

$arr1 = [1, 2] //원리 3

을 효과적으로 설명하는 데이터

특정 사례:

$arr1 = [5, 2, 4, 6, 1, 3];
$arr1 = [2, 3, 4, 1];
$arr1 = [2, 4, 5, 6, 1, 3];
echo “\
로그인 후 복사

병합 정렬 알고리즘

원리 설명:

이러한 배열의 경우: $arr1 = [1, 3, 5, 2, 4, 6]; $a = [ 1 , 3, 5],
$b = [2, 4, 6];

정렬된 배열이 2개 있을 경우, 두 배열에 대해 다음과 같은 연산을 수행하여 정렬된 배열을 얻을 수 있습니다. "퓨전 배열 " 이 두 배열 중

배열 a의 첫 번째 항목 a1을 꺼낸 다음 배열 b의 첫 번째 항목 b1을 꺼내고 a1과 b1의 크기를 비교하고

더 작은 항목을 추가합니다(a1로 가정). 새 배열에 넣고 해당 배열 a의 첫 번째 항목을 삭제하고,

그런 다음 해당 배열의 첫 번째 항목(지금은 데이터가 아님)을 꺼내고 계속해서 두 항목의 크기를 비교합니다

매번 작은 것을 새 배열에 넣고 다음 "삭제, 가져오기, 비교"를 계속합니다. . . .

최종 결과는 새 배열에서 새로 정렬된 배열을 얻을 수 있다는 것입니다.

아직 정렬되지 않은 배열의 경우 재귀적 방법이 계속 "2개로 분할"되는 한 결국 가장 짧은 배열(1개 또는 0개 셀만)을 얻게 됩니다. 이러한 종류의 배열은 자연스럽게 정렬됩니다.

원리 다이어그램:

PHP에서 배열 정렬을 구현하는 방법: 빠른 정렬, 삽입 정렬, 병합 정렬 알고리즘

원리 데이터:

$arr1 = [1, 3, 5, 4, 6, 7, 8 ] //원리를 강력하게 보여주는 데이터 1

가운데부터 2 : [ ]; [ 6, 7, 8]

[ 1, 3, 4, 5, ]

$arr1 = [1, 3, 2, 4] // 원리를 강력하게 보여주는 데이터 2

사례 :


$arr1 = [5, 2, 4, 6, 1, 3];
echo “\
로그인 후 복사

관련 추천 :

php 버블 정렬 퀵 정렬, php 버블 정렬

php 배열 정렬 방법 공유(버블 정렬, 선택 정렬)

위 내용은 PHP에서 배열 정렬을 구현하는 방법: 빠른 정렬, 삽입 정렬, 병합 정렬 알고리즘의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
2 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
2 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

PHP에서 키 이름을 유지하는 빠른 배열 정렬 방법 PHP에서 키 이름을 유지하는 빠른 배열 정렬 방법 May 02, 2024 pm 03:06 PM

키 이름을 유지하는 PHP의 빠른 배열 정렬 방법: ksort() 함수를 사용하여 키를 정렬합니다. 사용자가 정의한 비교 함수를 이용하여 정렬하려면 uasort() 함수를 사용한다. 실제 사례: 사용자 ID를 유지하면서 점수별로 사용자 ID 및 점수 배열을 정렬하려면 uasort() 함수와 사용자 정의 비교 함수를 사용할 수 있습니다.

JS 배열 정렬: sort() 메서드의 작동 원리와 메커니즘에 대한 심층 분석 JS 배열 정렬: sort() 메서드의 작동 원리와 메커니즘에 대한 심층 분석 Dec 28, 2023 am 11:47 AM

JS 배열 정렬: sort() 메서드의 원리와 메커니즘을 깊이 이해하려면 특정 코드 예제가 필요합니다. 소개: 배열 정렬은 일상적인 프런트 엔드 개발 작업에서 매우 일반적인 작업 중 하나입니다. JavaScript의 배열 정렬 방법 sort()는 가장 일반적으로 사용되는 배열 정렬 방법 중 하나입니다. 그런데, 당신은 sort() 메소드의 원리와 메커니즘을 정말로 이해하고 있습니까? 이 기사에서는 JS 배열 정렬의 원리와 메커니즘에 대한 심층적인 이해를 제공하고 구체적인 코드 예제를 제공합니다. 1. sort() 메소드의 기본 사용법

PHP 배열을 값별로 정렬한 후 키 이름을 유지하는 방법은 무엇입니까? PHP 배열을 값별로 정렬한 후 키 이름을 유지하는 방법은 무엇입니까? May 02, 2024 pm 04:09 PM

키 이름을 유지하면서 PHP에서 값을 기준으로 배열을 정렬하는 방법은 usort() 함수를 사용하여 값을 기준으로 배열을 정렬하는 것입니다. 요소 값의 차이를 반환하는 비교 함수로 익명 함수를 usort() 함수에 전달합니다. usort()는 키 이름을 변경하지 않고 익명 함수에 따라 배열을 정렬합니다.

PHP 배열을 위한 사용자 정의 정렬 알고리즘 작성 가이드 PHP 배열을 위한 사용자 정의 정렬 알고리즘 작성 가이드 Apr 27, 2024 pm 06:12 PM

사용자 정의 PHP 배열 정렬 알고리즘을 작성하는 방법은 무엇입니까? 버블 정렬: 인접한 요소를 비교하고 교환하여 배열을 정렬합니다. 선택 정렬: 매번 가장 작거나 가장 큰 요소를 선택하고 현재 위치와 바꿉니다. 삽입 정렬: 순서가 지정된 부품에 요소를 하나씩 삽입합니다.

원래 키 이름을 유지하면서 PHP의 사용자 정의 정렬 규칙에 따라 배열을 정렬합니다. 원래 키 이름을 유지하면서 PHP의 사용자 정의 정렬 규칙에 따라 배열을 정렬합니다. May 04, 2024 am 09:27 AM

PHP에서는 uasort() 함수를 사용하여 원래 키 이름을 유지하면서 사용자 정의 정렬 규칙에 따라 배열을 정렬합니다. 사용자 정의 비교 함수는 두 요소를 입력으로 사용하고 정수를 반환하는 함수입니다. 음수는 전자가 후자보다 작음을 의미하고, 0은 동일함을 의미하며, 양수는 전자가 후자보다 크다는 것을 의미합니다.

PHP 알고리즘: 버블 정렬을 사용하여 배열 정렬 효율성을 향상시키는 방법은 무엇입니까? PHP 알고리즘: 버블 정렬을 사용하여 배열 정렬 효율성을 향상시키는 방법은 무엇입니까? Sep 19, 2023 am 10:28 AM

PHP 알고리즘: 버블 정렬을 사용하여 배열 정렬 효율성을 향상시키는 방법은 무엇입니까? 버블 정렬은 간단하지만 효율성이 떨어지는 정렬 알고리즘이지만 몇 가지 최적화 전략을 통해 버블 정렬의 효율성을 향상시킬 수 있습니다. 이 기사에서는 PHP에서 버블 정렬 알고리즘을 사용하여 배열 정렬 프로세스를 최적화하는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 버블 정렬의 기본 원리는 매번 배열의 첫 번째 요소부터 시작하여 인접한 두 요소의 크기를 순서대로 비교하는 것입니다. 이전 요소가 다음 요소보다 크면 위치가 바뀝니다. 이런 비교를 거쳐 최종적으로

PHP의 asort() 함수는 값을 기준으로 배열을 정렬합니다. PHP의 asort() 함수는 값을 기준으로 배열을 정렬합니다. Nov 18, 2023 am 10:56 AM

PHP의 asort() 함수는 값을 기준으로 배열을 정렬합니다. 특정 코드 예제가 필요합니다. PHP는 풍부한 배열 처리 기능을 갖춘 널리 사용되는 서버측 스크립팅 언어입니다. 그 중 asort() 함수는 값에 따라 배열을 정렬할 수 있는 매우 유용한 함수이다. 이 기사에서는 asort() 함수의 사용법을 자세히 소개하고 구체적인 코드 예제를 제공합니다. asort() 함수의 기능은 키와 값 간의 연관성을 유지하면서 값을 기준으로 오름차순으로 배열을 정렬하는 것입니다. 원래 번호를 수정하여 수행됩니다.

PHP 배열의 다차원 정렬 팁: 정렬 효율성 최적화 PHP 배열의 다차원 정렬 팁: 정렬 효율성 최적화 Apr 30, 2024 am 09:54 AM

PHP에서 다차원 배열 정렬을 최적화하기 위한 팁: 정렬을 위한 사용자 정의 함수 만들기 array_multisort() 함수를 사용하여 다차원 키 재정렬 적용 실제 사례: 배열 키-값 쌍을 기준으로 제품 정렬

See all articles