백엔드 개발 PHP 튜토리얼 PHP는 일반적인 정렬 알고리즘을 구현합니다.

PHP는 일반적인 정렬 알고리즘을 구현합니다.

Aug 08, 2016 am 09:32 AM
arr count function return sort

삽입 정렬: 모든 레코드가 삽입될 때까지 정렬할 레코드가 키 크기에 따라 이전에 정렬된 하위 파일의 적절한 위치에 삽입될 때마다.

//插入排序(一维数组)
function insert_sort($arr)
{
	$count = count($arr);
	for($i=1; $i<$count; $i++)
	{
		$tmp = $arr[$i];
		$j = $i - 1;
		while($arr[$j] > $tmp)
		{
			$arr[$i] = $arr[$j];
			$arr[$j] = $tmp;
			$j--;
		}
	}
	return $arr;
}
로그인 후 복사

선택 정렬: 정렬할 레코드 중 가장 작은 키워드를 가진 레코드를 선택할 때마다 모든 레코드가 정렬될 때까지 정렬된 하위 파일의 끝에 순서를 둡니다. 정렬되어 있습니다.

//选择排序(一维数组)
function selection_sort($arr)
{
	$count = count($arr);
	for($i=0; $i<$count; $i++)
	{
		$k = $i;
		for($j=$i+1; $j<$count; $j++)
		{
			if($arr[$k] > $arr[$j])
			{
				$k = $j;
			}

			if($k != $i)
			{
				$tmp = $arr[$i];
				$arr[$i] = $arr[$k];
				$arr[$k] = $tmp;
			}
		}
	}
	return $arr;
}
로그인 후 복사

버블 정렬: 쌍으로 정렬할 레코드의 키워드를 비교하여 두 레코드의 순서가 역전된 것으로 확인되면 역행이 없을 때까지 순서를 바꿉니다. 기록 위치.

//冒泡排序(一维数组)
//实际效果是:每次循环将数组中最小的值放置到数组的最前段,然后,下一次循环不再循环已放置正确数组值的键,以此类推
 function selection_sort($arr)
{
	$count = count($arr);
	if($count <= 0)
		return false;
	for($i=0; $i<$count; $i++)
	{
		for($j=$count-1; $j>$i; $j--)
		{
			if($arr[$j] < $array[$j-1])
			{
				$tmp = $arr[$j];
				$arr[$j] = $arr[$j-1];
				$arr[$j-1] = $tmp;
			}
		}
	}
	return $arr;
}
로그인 후 복사

퀵 정렬: 버블 정렬과 본질적으로 동일하며 교환 정렬을 응용한 것입니다.

//快速排序(一维数组)
function quick_sort($arr)
{
	$count = count($arr);
	if($count <= 1)
		return $arr;
	$key = $arr[0];
	$left_arr = array();
	$right_arr = array();
	for($i=1; $i<$count; $i++)
	{
		if($arr[$i] <= $key)
			$left_arr[] = $arr[$i];
		else
			$right_arr[] = $arr[$i];
	}
	$left_arr = quick_sort($left_arr);
	$right_arr = quick_sort($right_arr);

	return array_merge($left_arr,array($arr), $right_arr);
}
로그인 후 복사

위 내용은 내용의 측면을 포함하여 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. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

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

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

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

C 언어의 return 사용법에 대한 자세한 설명 C 언어의 return 사용법에 대한 자세한 설명 Oct 07, 2023 am 10:58 AM

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

uniapp에서 드래그 앤 드롭 정렬 및 드래그 앤 드롭 작업을 구현하는 방법 uniapp에서 드래그 앤 드롭 정렬 및 드래그 앤 드롭 작업을 구현하는 방법 Oct 19, 2023 am 09:39 AM

Uniapp은 크로스 플랫폼 개발 프레임워크로, 강력한 크로스 엔드 기능을 통해 개발자는 다양한 애플리케이션을 빠르고 쉽게 개발할 수 있습니다. Uniapp에서는 드래그 앤 드롭 정렬과 드래그 앤 드롭 동작을 구현하는 것도 매우 간단하며, 다양한 컴포넌트와 요소의 드래그 앤 드롭 동작을 지원할 수 있습니다. 이 기사에서는 Uniapp을 사용하여 드래그 앤 드롭 정렬 및 드래그 앤 드롭 작업을 구현하는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 드래그 앤 드롭 정렬 기능은 많은 응용 프로그램에서 매우 일반적입니다. 예를 들어 목록 드래그 앤 드롭 정렬, 아이콘 드래그 앤 드롭 정렬 등을 구현하는 데 사용할 수 있습니다. 아래에 우리가 나열

기능은 무슨 뜻인가요? 기능은 무슨 뜻인가요? Aug 04, 2023 am 10:33 AM

함수는 특정 기능을 포함하는 재사용 가능한 코드 블록으로, 입력 매개변수를 받아들이고 특정 작업을 수행하며 결과를 반환하는 것이 목적입니다. 코드 재사용성과 유지 관리성을 향상시키는 코드입니다.

C++sort 함수의 기본 원리와 알고리즘 선택을 살펴보세요. C++sort 함수의 기본 원리와 알고리즘 선택을 살펴보세요. Apr 02, 2024 pm 05:36 PM

C++정렬 함수의 맨 아래 계층은 병합 정렬을 사용하고 복잡도는 O(nlogn)이며 빠른 정렬, 힙 정렬 및 안정 정렬을 포함한 다양한 정렬 알고리즘 선택을 제공합니다.

Java에서 return 및 finally 문의 실행 순서는 무엇입니까? Java에서 return 및 finally 문의 실행 순서는 무엇입니까? Apr 25, 2023 pm 07:55 PM

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

카운트와 카운트의 차이점 카운트와 카운트의 차이점 Nov 20, 2023 am 10:01 AM

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

C#에서 Array.Sort 함수를 사용하여 배열 정렬 C#에서 Array.Sort 함수를 사용하여 배열 정렬 Nov 18, 2023 am 10:37 AM

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

Python에서 'enumerate()' 함수의 목적은 무엇입니까? Python에서 'enumerate()' 함수의 목적은 무엇입니까? Sep 01, 2023 am 11:29 AM

이번 글에서는 enumerate() 함수와 Python에서 “enumerate()” 함수의 목적에 대해 알아봅니다. enumerate() 함수란 무엇입니까? Python의 enumerate() 함수는 데이터 컬렉션을 매개변수로 받아들이고 열거형 객체를 반환합니다. 열거형 객체는 키-값 쌍으로 반환됩니다. 키는 각 항목에 해당하는 인덱스이고 값은 항목입니다. 구문 enumerate(iterable,start) 매개변수 iterable - 전달된 데이터 컬렉션은 iterablestart라는 열거형 개체로 반환될 수 있습니다. - 이름에서 알 수 있듯이 열거형 개체의 시작 인덱스는 start로 정의됩니다. 우리가 무시한다면

See all articles