현재 위치: > 최신 기사 목록> end ()를 사용하여 스택 구조에서 엿보기 작업을 구현하십시오

end ()를 사용하여 스택 구조에서 엿보기 작업을 구현하십시오

M66 2025-06-05

PHP에서 Stack은 첫 번째 및 외출 인 데이터 구조입니다 (Lifo, Last in First Out). 스택에서는 스택 상단에서 요소의 첨가 및 제거가 수행됩니다. 이 스택은 종종 UNDO 작업, 브라우징 기록 등과 같은 LIFO (Late-in-First-Out) 로직이 필요한 일부 시나리오를 구현하는 데 사용됩니다. PHP에는 내장 된 스택 데이터 구조가 내장되어 있지 않지만 배열을 사용하여 스택 작업을 시뮬레이션 할 수 있습니다.

스택의 일반적인 작업 중에는 공통 요구 사항이 있습니다. 스택의 상단 요소를 보지만 삭제하지 마십시오. 이것을 엿보기 운영이라고합니다. PHP 배열의 경우 array_pop () 함수를 사용하여 상단 요소를 팝업 할 수 있지만, 엿보기 작업의 목적은 스택 자체의 상태를 변경하지 않고도 스택의 상단 요소 만 보는 것입니다.

end () 라는 PHP에는 배열의 마지막 요소를 반환하는 매우 유용한 기능이 있습니다. 우리는이를 사용하여 스택에서 엿보기 작업을 구현할 수 있습니다. 특정 구현 방법을 살펴 보겠습니다.

스택의 기본 구현

먼저 간단한 스택을 시뮬레이션하고 PHP 배열을 사용하여 스택 작동을 시뮬레이션합니다.

 <?php
// 스택을 초기화하십시오
$stack = [];

// 스택 작동
array_push($stack, 'first');
array_push($stack, 'second');
array_push($stack, 'third');

// 출력 스택의 상태
print_r($stack);
?>

코드를 실행하면 출력이 다음과 같습니다.

 Array
(
    [0] => first
    [1] => second
    [2] => third
)

현재 스택의 상단 요소는 '세 번째' 입니다.

엿보기 운영을 구현하는 방법은 무엇입니까?

엿보기 작업을 구현하기 위해 end () 함수를 사용할 수 있습니다. end () 함수는 배열의 마지막 요소, 즉 스택의 상단 요소를 반환합니다.

 <?php
// Peek 작동하다:스택의 상단 요소를 봅니다
$top = end($stack);

// 출력 스택 상단 요소
echo "스택의 최상위 요소는입니다: " . $top . PHP_EOL;
?>

출력은 다음과 같습니다.

 스택의 최상위 요소는입니다: third

end ()를 사용하는 이유는 무엇입니까?

end () 함수는 배열의 내부 포인터를 마지막 요소로 이동하지만 요소를 삭제하지는 않습니다. 따라서, 엿보기 작업을 수행 한 후에도 스택은 변경되지 않은 상태로 유지됩니다. 이 기능은 스택 구조의 엿보기 작업에 매우 적합합니다. 스택 상단의 요소 만 볼 필요가없고 스택을 수정하지 않기 때문입니다.

주목해야 할 것

  1. 빈 스택의 경우 : 스택이 비어 있으면 end ()가 false를 반환합니다. 따라서 end ()를 사용하기 전에 오류를 피하기 위해 스택이 비어 있는지 확인하는 것이 가장 좋습니다.

 <?php
if (!empty($stack)) {
    $top = end($stack);
    echo "스택의 최상위 요소는입니다: " . $top . PHP_EOL;
} else {
    echo "스택이 비어 있습니다,실행할 수 없습니다 peek 작동하다。" . PHP_EOL;
}
?>
  1. 배열의 내부 포인터 : end () 함수는 배열의 내부 포인터를 변경하지만 스택 작업의 경우 내부 포인터의 변경은 스택의 다른 작업 (예 : 스택 항목, 스택 종료 등)에 영향을 미치지 않습니다.

완전한 코드 예제

다음은 스택 항목, 스택 종료 및 엿보기 작업을 포함하는 전체 예제 코드입니다.

 <?php
// 스택을 초기화하십시오
$stack = [];

// 스택 작동
array_push($stack, 'first');
array_push($stack, 'second');
array_push($stack, 'third');

// Peek 작동하다:스택의 상단 요소를 봅니다
if (!empty($stack)) {
    $top = end($stack);
    echo "스택의 최상위 요소는입니다: " . $top . PHP_EOL;
} else {
    echo "스택이 비어 있습니다,실행할 수 없습니다 peek 작동하다。" . PHP_EOL;
}

// 出栈작동하다:스택의 상단 요소를 제거하십시오
$removed = array_pop($stack);
echo "제거 된 요소는 다음과 같습니다: " . $removed . PHP_EOL;

// Peek 작동하다:再次스택의 상단 요소를 봅니다
if (!empty($stack)) {
    $top = end($stack);
    echo "스택의 최상위 요소는입니다: " . $top . PHP_EOL;
} else {
    echo "스택이 비어 있습니다,실행할 수 없습니다 peek 작동하다。" . PHP_EOL;
}
?>

출력 결과 :

 스택의 최상위 요소는입니다: third
제거 된 요소는 다음과 같습니다: third
스택의 최상위 요소는입니다: second

요약

end () 함수를 사용하면 스택 상태를 변경하지 않고 스택 상단의 요소를 볼 수있는 스택의 엿보기 작업을 쉽게 구현할 수 있습니다. 이 방법은 간단하고 효율적이며 PHP의 스택 데이터 구조를 시뮬레이션하는 시나리오에 매우 적합합니다.