PHP 정렬: PHP 삽입 정렬의 알고리즘 아이디어 및 알고리즘 구현
이 기사의 내용은 PHP 정렬에 관한 것입니다. PHP 삽입 정렬의 알고리즘 아이디어와 알고리즘 구현에 대한 내용입니다. 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.
알고리즘 소개:
여기에서는 "Dahua 데이터 구조"의 예를 사용합니다.
포커는 거의 모든 사람이 플레이해 본 게임입니다. 일반적으로 시작할 때 한 사람이 카드를 주고 나머지는 모두 카드를 뽑아 정렬합니다. 처음 뽑은 카드가 5이고 두 번째 카드가 3이면 자연스럽게 3을 삽입합니다. 5의 앞쪽으로 이동합니다. 카드는 4이고, 3과 5 사이에 있습니다. 네 번째 카드는 6이고, 다섯 번째 카드는 2이고, 3 앞에 삽입합니다. 마지막으로 모든 카드를 뽑았을 때 손에 있는 카드는 작은 것부터 큰 것(포인트)으로 정렬됩니다.
다음 순서를 살펴보겠습니다.
5 3 3 5 // 요소가 하나만 있는 정렬된 목록에 3을 삽입합니다. 5
3 5 4 4 3 5 six 직접 삽입 정렬의 기본 아이디어는 다음과 같습니다. 매번 순서가 지정되지 않은 목록의 요소를 순서가 지정된 목록의 적절한 위치에 삽입하여 순서가 지정된 목록이 순서를 유지하도록 합니다.
첫 번째 패스는 처음 두 숫자를 비교한 다음 두 번째 숫자를 크기에 따라 정렬된 목록에 삽입합니다. 두 번째 패스는 세 번째 데이터와 처음 두 숫자를 뒤에서 앞으로 스캔하고 세 번째 숫자를 정렬된 목록에 삽입합니다. 목록 크기에 따라 순서대로 삽입되며, 전체 정렬 과정은 (n-1) 스캔 후에 완료됩니다.
// 直接插入排序 function swap(&$arr,$a,$b) { $temp = $arr[$a]; $arr[$a] = $arr[$b]; $arr[$b] = $temp; } function insertSort(&$arr) { $count = count($arr); for ($i=1; $i = 0 && $arr[$j] > $temp;$j--) { $arr[$j + 1] = $arr[$j]; //记录后移 } $arr[$j + 1] = $temp; //插入到正确的位置 } } $arr = array(9,1,5,8,3,7,4,6,2); insertSort($arr); var_dump($arr);
실행 결과:
array(9) { [0]=>
int(1)
int(2)
[2]=> ;
int(3)
[3]=>
int(4)
[4]=>
int(5)
[5]=>
int(6)
[6]=>
int(7)
[7]=>
int(8)
[8]=>
int(9)
}
관련 추천:
php 배열 정렬 방법 공유 ( 버블 정렬, 선택 정렬)
php는 힙 정렬, php 힙 정렬_PHP 튜토리얼을 구현합니다
위 내용은 PHP 정렬: PHP 삽입 정렬의 알고리즘 아이디어 및 알고리즘 구현의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

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

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

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

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

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

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

뜨거운 주제











Laravel은 직관적 인 플래시 방법을 사용하여 임시 세션 데이터 처리를 단순화합니다. 응용 프로그램에 간단한 메시지, 경고 또는 알림을 표시하는 데 적합합니다. 데이터는 기본적으로 후속 요청에만 지속됩니다. $ 요청-

PHP 클라이언트 URL (CURL) 확장자는 개발자를위한 강력한 도구이며 원격 서버 및 REST API와의 원활한 상호 작용을 가능하게합니다. PHP CURL은 존경받는 다중 프로모토콜 파일 전송 라이브러리 인 Libcurl을 활용하여 효율적인 execu를 용이하게합니다.

이것은 Laravel 백엔드가있는 React Application을 구축하는 데있어 시리즈의 두 번째이자 마지막 부분입니다. 이 시리즈의 첫 번째 부분에서는 기본 제품 목록 응용 프로그램을 위해 Laravel을 사용하여 편안한 API를 만들었습니다. 이 튜토리얼에서는 Dev가 될 것입니다

Laravel은 간결한 HTTP 응답 시뮬레이션 구문을 제공하여 HTTP 상호 작용 테스트를 단순화합니다. 이 접근법은 테스트 시뮬레이션을보다 직관적으로 만들면서 코드 중복성을 크게 줄입니다. 기본 구현은 다양한 응답 유형 단축키를 제공합니다. Illuminate \ support \ Facades \ http를 사용하십시오. http :: 가짜 ([ 'google.com'=> 'Hello World', 'github.com'=> [ 'foo'=> 'bar'], 'forge.laravel.com'=>

고객의 가장 긴급한 문제에 실시간 인스턴트 솔루션을 제공하고 싶습니까? 라이브 채팅을 통해 고객과 실시간 대화를 나누고 문제를 즉시 해결할 수 있습니다. 그것은 당신이 당신의 관습에 더 빠른 서비스를 제공 할 수 있도록합니다.

이 기사에서는 Laravel 웹 프레임 워크에서 알림 시스템을 탐색 할 것입니다. Laravel의 알림 시스템을 사용하면 다른 채널을 통해 사용자에게 알림을 보낼 수 있습니다. 오늘은 알림을 보낼 수있는 방법에 대해 논의합니다

기사는 PHP 5.3에 도입 된 PHP의 LSB (Late STATIC BING)에 대해 논의하여 정적 방법의 런타임 해상도가보다 유연한 상속을 요구할 수있게한다. LSB의 실제 응용 프로그램 및 잠재적 성능

PHP 로깅은 웹 애플리케이션을 모니터링하고 디버깅하고 중요한 이벤트, 오류 및 런타임 동작을 캡처하는 데 필수적입니다. 시스템 성능에 대한 귀중한 통찰력을 제공하고 문제를 식별하며 더 빠른 문제 해결을 지원합니다.
