PHP의 몇 가지 일반적인 정렬 방법에 대한 자세한 설명(코드 포함)
PHP의 몇 가지 일반적인 정렬 방법
이 기사에서는 버블 정렬, 교환 정렬, 선택 정렬 및 삽입과 같은 여러 가지 정렬 방법을 소개합니다. 그것이 모두에게 도움이 되기를 바랍니다.
정렬 방법 1: 버블 정렬
function BubbleSort($arr) { // 获得数组总长度 $num = count($arr); // 正向遍历数组 for ($i = 1; $i < $num; $i++) { // 反向遍历 for ($j = $num - 1; $j >= $i ; $j--) { // 相邻两个数比较 if ($arr[$j] < $arr[$j-1]) { // 暂存较小的数 $iTemp = $arr[$j-1]; // 把较大的放前面 $arr[$j-1] = $arr[$j]; // 较小的放后面 $arr[$j] = $iTemp; } } } return $arr; }
정렬 방법 2: 교환 정렬
function ExchangeSort($arr){ $num = count($arr); // 遍历数组 for ($i = 0;$i < $num - 1; $i++) { // 获得当前索引的下一个索引 for ($j = $i + 1; $j < $num; $j++) { // 比较相邻两个的值大小 if ($arr[$j] < $arr[$i]) { // 暂存较小的数 $iTemp = $arr[$i]; // 把较大的放前面 $arr[$i] = $arr[$j]; // 较小的放后面 $arr[$j] = $iTemp; } } } return $arr; }
정렬 방법 3: 선택 정렬
function SelectSort($arr) { // 获得数组总长度 $num = count($arr); // 遍历数组 for ($i = 0;$i < $num-1; $i++) { // 暂存当前值 $iTemp = $arr[$i]; // 暂存当前位置 $iPos = $i; // 遍历当前位置以后的数据 for ($j = $i + 1;$j < $num; $j++){ // 如果有小于当前值的 if ($arr[$j] < $iTemp) { // 暂存最小值 $iTemp = $arr[$j]; // 暂存位置 $iPos = $j; } } // 把当前值放到算好的位置 $arr[$iPos] = $arr[$i]; // 把当前值换成算好的值 $arr[$i] = $iTemp; } return $arr; }
정렬 방법 4: 삽입 정렬
function InsertSort($arr){ $num = count($arr); // 遍历数组 for ($i = 1;$i < $num; $i++) { // 获得当前值 $iTemp = $arr[$i]; // 获得当前值的前一个位置 $iPos = $i - 1; // 如果当前值小于前一个值切未到数组开始位置 while (($iPos >= 0) && ($iTemp < $arr[$iPos])) { // 把前一个的值往后放一位 $arr[$iPos + 1] = $arr[$iPos]; // 位置递减 $iPos--; } $arr[$iPos+1] = $iTemp; } return $arr; }
정렬 방법 5: 빠른 정렬
function QuickSort($arr){ $num = count($arr); $l = $r = 0; $left = $right = array(); // 从索引的第二个开始遍历数组 for ($i = 1;$i < $num; $i++) { // 如果值小于索引1 if ($arr[$i] < $arr[0]) { // 装入左索引数组(小于索引1的数据) $left[] = $arr[$i]; $l++; } else { // 否则装入右索引中(大于索引1的数据) $right[] = $arr[$i]; $r++; // } } // 如果左索引有值 则对左索引排序 if($l > 1) { $left = QuickSort($left); } // 排序后的数组 $new_arr = $left; // 将当前数组第一个放到最后 $new_arr[] = $arr[0]; // 如果又索引有值 则对右索引排序 if ($r > 1) { $right = QuickSort($right); } // 根据右索引的长度再次增加数据 for($i = 0;$i < $r; $i++) { $new_arr[] = $right[$i]; } return $new_arr; }
추천 튜토리얼: "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)

뜨거운 주제











PHP 8.4는 상당한 양의 기능 중단 및 제거를 통해 몇 가지 새로운 기능, 보안 개선 및 성능 개선을 제공합니다. 이 가이드에서는 Ubuntu, Debian 또는 해당 파생 제품에서 PHP 8.4를 설치하거나 PHP 8.4로 업그레이드하는 방법을 설명합니다.

CakePHP는 PHP용 오픈 소스 프레임워크입니다. 이는 애플리케이션을 훨씬 쉽게 개발, 배포 및 유지 관리할 수 있도록 하기 위한 것입니다. CakePHP는 강력하고 이해하기 쉬운 MVC와 유사한 아키텍처를 기반으로 합니다. 모델, 뷰 및 컨트롤러 gu

CakePHP에 로그인하는 것은 매우 쉬운 작업입니다. 한 가지 기능만 사용하면 됩니다. cronjob과 같은 백그라운드 프로세스에 대해 오류, 예외, 사용자 활동, 사용자가 취한 조치를 기록할 수 있습니다. CakePHP에 데이터를 기록하는 것은 쉽습니다. log() 함수는 다음과 같습니다.

VS Code라고도 알려진 Visual Studio Code는 모든 주요 운영 체제에서 사용할 수 있는 무료 소스 코드 편집기 또는 통합 개발 환경(IDE)입니다. 다양한 프로그래밍 언어에 대한 대규모 확장 모음을 통해 VS Code는

CakePHP는 오픈 소스 MVC 프레임워크입니다. 이를 통해 애플리케이션 개발, 배포 및 유지 관리가 훨씬 쉬워집니다. CakePHP에는 가장 일반적인 작업의 과부하를 줄이기 위한 여러 라이브러리가 있습니다.
