"PHP 클래스를 통한 정수 배열 정렬 방법에 대한 간략한 분석"에서는 PHP 클래스를 사용하여 배열을 정렬하는 방법을 소개합니다. 따라서 이 기사에서는 흥미로운 비드 알고리즘을 소개하고 이를 사용하여 PHP 배열을 정렬할 것입니다.
먼저 주판알고리즘이 무엇인지 간략하게 소개하겠습니다.
비드 정렬이라고도 불리는 Pearl 알고리즘은 2002년 Joshua J. Arulanandham, Cristian S. Calude 및 Michael J. Dinneen이 개발했으며 유럽 이론 컴퓨터 협회(European Association for Theoretical Computer Association)에 게시되었습니다. 이 알고리즘은 Computer Science(EATCS)의 언론 브리핑에 발표되었습니다.
비드 정렬의 디지털 및 아날로그 하드웨어 구현 모두 O(n)을 달성할 수 있지만, 이 알고리즘의 구현은 소프트웨어에서 훨씬 느린 경향이 있으며 양의 정수 목록을 정렬하는 데에만 사용할 수 있습니다.
알고리즘에 대해 간략하게 이해한 후, 직접 코드를 업로드합니다:
<?php function columns($uarr) { $n=$uarr; if (count($n) == 0) return array(); else if (count($n) == 1) return array_chunk($n[0], 1); array_unshift($uarr, NULL); $transpose = call_user_func_array('array_map', $uarr); return array_map('array_filter', $transpose); } function bead_sort($uarr) { foreach ($uarr as $e) $poles []= array_fill(0, $e, 1); return array_map('count', columns(columns($poles))); } echo '原始数组: '.' '; var_dump(array(5,3,1,3,8,7,4,1,1,3)); echo ' '.'珠排序后 : '.' '; var_dump(bead_sort(array(5,3,1,3,8,7,4,1,1,3)));
실행 결과는 다음과 같습니다.
위 코드에서 몇 가지 주요 기능을 소개하겠습니다.
1 , array_unshift( )
함수: 배열에 새 요소를 삽입하는 데 사용됩니다. 새 배열의 값은 배열의 시작 부분에 삽입됩니다. 추가된 요소는 매개변수와 동일한 순서로 배열에 전체적으로 추가됩니다. 이 함수는 배열의 요소 수를 반환합니다. array_unshift()
函数:用于向数组插入新元素。新数组的值将被插入到数组的开头。被加上的元素作为一个整体添加,这些元素在数组中的顺序和在参数中的顺序一样。该函数会返回数组中元素的个数。
2、c
all_user_func_array
:调用回调函数,并把一个数组参数作为回调函数的参数,语法是“call_user_func_array(callable $callback, array $param_arr): mixed
”,表示把第一个参数作为回调函数(callback)调用,把参数数组作(param_arr)为回调函数的的参数传入。
3、array_map
c
all_user_func_array
: 콜백 함수를 호출하고 배열 매개변수를 콜백 함수의 매개변수로 사용합니다. 구문은 "call_user_func_array(callable $callback)입니다. , 배열 $ param_arr): 혼합
'은 첫 번째 매개변수를 콜백 함수(callback)로 호출하고, 매개변수 배열(param_arr)을 콜백 함수의 매개변수로 전달하는 것을 의미합니다. 3. array_map
: 배열의 각 요소에 콜백 함수를 적용합니다.
위 내용은 비드 알고리즘을 사용하여 PHP 배열 정렬의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!