PHP 常见算法【冒泡排序, 快速排序, 插入排序, 取舍排序, 二分法查找, .】
PHP 常见算法【冒泡排序, 快速排序, 插入排序, 选择排序, 二分法查找, ..】
// 冒泡排序 function bubblesort($arr) { for($i=0,$j=count($arr); $i<$j; $i++) { for($k=$j-1; $k>$i; $k--) { if ($arr[$k] < $arr[$k-1]) list($arr[$k-1], $arr[$k]) = array($arr[$k], $arr[$k-1]); } } return $arr; } $arr = array(1,4,14,3,56,23,435,2,234,2,33,23,123); print_r(bubblesort($arr));
// 快速排序 function quicksort($arr) { if(($count = count($arr)) <= 1 ) return $arr; $base = $arr[0]; $left = $right = array(); for($i=1; $i<$count; $i++) { if($arr[$i] <= $base) $left[] = $arr[$i]; else $right[] = $arr[$i]; } $left = quicksort($left); $right = quicksort($right); return array_merge($left, array($base), $right); } echo join(',', quicksort(array(1,3,23,5,234,65,6)));?
// 插入排序 function insertsort($arr) { for($i=1, $j=count($arr); $i<$j; $i++) { $k = $i; while($k > 0 && $arr[$k-1] > $arr[$k]) { list($arr[$k], $arr[$k-1]) = array($arr[$k-1], $arr[$k]); $k--; } } return $arr; } $array=array(10,8,7,5,1,2,3,4); print_r(insertsort($array));
?
// 选择排序, (非递归) function selectsort($arr) { for($i=0, $j=count($arr); $i<=$j; $i++) { $min = $i; $temp = $arr[$i]; for($k=$i+1; $k<$j; $k++) { if($temp > $arr[$k]) { $min = $k; $temp = $arr[$k]; } } if($min != $i) list($arr[$min], $arr[$i]) = array($arr[$i], $arr[$min]); } return $arr; } $arr = array(9,3,11,23,90,99,12,34,22,87,32); print_r(selectsort($arr));
?
// 选择排序(递归实现) function selectsort2($arr, $start = 0) { if(($count = count($arr)) == $start + 1) return $arr; $new = array(); $min = $arr[$start]; $min_index = $start; for($i=$start+1; $i<$count-1; $i++) { if($arr[$i] < $min) { $min = $arr[$i]; $min_index = $i; } } if($arr[$start] != $min) list($arr[$start], $arr[$min_index]) = array($arr[$min_index], $arr[$start]); return selectsort($arr, $start + 1); } $arr = array(9,3,11,23,90,99,12,34,22,87,32); print_r(selectsort($arr));
?
?
<?php // 二分法查找 function binarysearch($arr, $value, $start = 0, $end = NULL) { if($end == NULL) $end = count($arr) - 1; $index = floor(($start+$end)/2); $base = $arr[$index]; if($value < $base) return binarysearch($arr, $value, $start, $index-1); else if($value > $base) return binarysearch($arr, $value, $index+1, $end); else return $index; } $arr = array(1, 3, 5, 6, 7, 8, 10, 12, 14, 16, 18, 20); $value = 8; echo binarysearch($arr, $value);
待续...

핫 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)

뜨거운 주제











C 언어에서 return의 사용법은 다음과 같습니다. 1. 반환 값 유형이 void인 함수의 경우 return 문을 사용하여 함수 실행을 조기에 종료할 수 있습니다. 2. 반환 값 유형이 void가 아닌 함수의 경우 return 문은 함수 실행을 종료하는 것입니다. 결과는 호출자에게 반환됩니다. 3. 함수 실행을 조기에 종료합니다. 함수 내부에서는 return 문을 사용하여 함수 실행을 조기에 종료할 수 있습니다. 함수가 값을 반환하지 않는 경우.

docker 시작 실패에 대한 해결 방법: 1. 실행 상태를 확인한 후 "echo 3 > /proc/sys/vm/drop_caches" 명령을 통해 점유된 메모리를 해제합니다. 2. "$netstat -nltp|grep .. . " 명령을 사용하여 해당 포트가 이미 점유되어 있는지 확인합니다. 온라인 접속 후 점유된 것으로 확인되면 사용 가능한 포트로 변경한 후 다시 시작하세요.

Count 함수는 지정된 범위 내의 숫자 수를 계산하는 데 사용됩니다. 텍스트, 논리값 및 Null 값은 무시하지만 빈 셀의 개수는 계산됩니다. Count 함수는 실제 숫자가 포함된 셀의 개수만 계산합니다. CountA 함수는 지정된 범위에서 비어 있지 않은 셀의 수를 계산하는 데 사용됩니다. 실제 숫자가 포함된 셀의 개수뿐만 아니라 텍스트, 논리값 및 수식이 포함된 비어 있지 않은 셀의 개수도 계산됩니다.

소스 코드: publicclassReturnFinallyDemo{publicstaticvoidmain(String[]args){System.out.println(case1());}publicstaticintcase1(){intx;try{x=1;returnx;}finally{x=3;}}}# 출력 위 코드의 출력은 간단히 결론을 내릴 수 있습니다. return은 finally 전에 실행됩니다. 바이트코드 수준에서 무슨 일이 일어나는지 살펴보겠습니다. 다음은 case1 메소드의 바이트코드 일부를 가로채서 소스 코드를 비교하여 각 명령어의 의미를 주석으로 표시합니다.

제목: Array.Sort 함수를 사용하여 C#에서 배열을 정렬하는 예 텍스트: C#에서는 배열이 일반적으로 사용되는 데이터 구조이므로 배열 정렬 작업이 필요한 경우가 많습니다. C#에서는 배열을 편리하게 정렬할 수 있는 Sort 메서드가 있는 Array 클래스를 제공합니다. 이 문서에서는 C#에서 Array.Sort 함수를 사용하여 배열을 정렬하는 방법을 보여주고 구체적인 코드 예제를 제공합니다. 먼저 Array.Sort 함수의 기본 사용법을 이해해야 합니다. 배열.그래서

PHP로 프로그래밍할 때 배열을 병합해야 하는 경우가 종종 있습니다. PHP는 배열 병합을 완료하기 위해 array_merge() 함수를 제공하지만, 배열에 동일한 키가 존재할 경우 이 함수는 원래 값을 덮어씁니다. 이 문제를 해결하기 위해 PHP는 배열을 병합하고 동일한 키의 값을 유지할 수 있는 array_merge_recursive() 함수도 언어에 제공하여 프로그램 설계를 더욱 유연하게 만듭니다. array_merge

PHP에는 배열 작업을 더욱 편리하고 빠르게 만들어주는 강력한 배열 함수가 많이 있습니다. 두 배열을 연관 배열로 결합해야 하는 경우 PHP의 array_combine 함수를 사용하여 이 작업을 수행할 수 있습니다. 이 함수는 실제로 한 배열의 키를 다른 배열의 값으로 새로운 연관 배열로 결합하는 데 사용됩니다. 다음으로 PHP에서 array_combine 함수를 사용하여 두 배열을 연관 배열로 결합하는 방법을 설명하겠습니다. array_comb에 대해 알아보기

노드 시작 오류 해결 방법: 1. 터미널에서 직접 "node xx.js"를 실행합니다. 2. 시작 시작 항목 "scripts"를 추가합니다. ,"start":"node service.js"}"; 3. "npm start"를 다시 실행합니다.
