JavaScript에서 스택 구현
FILO(선입선출)를 따릅니다. 대기열과 비교하여 대기열의 경우 선입선출(FIFO) 순서를 따릅니다.
실제 상황에서 예를 들어 아래와 같이 많은 팬케이크를 함께 쌓을 때 말할 수 있습니다.
사진에서 볼 수 있듯이 더미에 놓일 마지막 팬케이크가 첫 번째로 꺼지는 팬케이크가 됩니다.
실행 취소 기능과 웹 브라우징에서 구현된 응용 프로그램의 스택은 히스토리로 이동할 때 브라우징할 마지막 사이트가 항상 브라우징 히스토리의 첫 번째 사이트입니다.
이제 JavaScript에서 스택이 작동하는 방식을 구현하겠습니다.
다음은 JavaScript에서 배열을 사용하는 스택의 예입니다.
// Stack class
class Stack {
// Array is used to implement stack
constructor()
{
this.items = [];
}
// Methods to be implemented
// push(value)
// pop()
// peek()
// isEmpty()
// printStack()
}
위의 예에서 볼 수 있듯이 스택을 구현하기 위해 배열을 선언하는 생성자를 포함하는 스택 클래스의 본문을 만들었습니다. 따라서 스택 클래스의 개체를 만들면 이 생성자가 자동으로 호출되고 값 추가 및 제거를 구현하는 일부 메서드도 호출됩니다.
이제 각 방법을 구현해 보겠습니다.
1.Push() - 이 메서드는 배열에 요소를 추가하는 데 사용됩니다.
이 메서드는 항목 배열에 값을 추가합니다.
2.Pop() - 이 메서드는 배열에서 최상위 요소를 제거하는 데 사용됩니다.
먼저 배열에 요소가 있는지 확인하고 비어 있으면 언더플로를 반환합니다. pop 메서드는 항목 배열에 마지막으로 추가된 요소를 제거할 것입니다.
3.peek - 이 메서드는 트리거될 때 배열에서 최상위 요소를 반환합니다. 추가할 마지막 요소입니다.
보시다시피 스택에 추가할 최신 값, 최상위 값만 반환하지만 제거하지는 않습니다.
isEmpty - 이 메서드는 스택에서 값을 제거하는 시나리오에서 스택이 비어 있는지 확인하는 데 사용됩니다. 비어 있는지 확인합니다. 스택에 값이 없을 때 메서드를 실행하지 않도록 합니다.
위에서 볼 수 있듯이 스택이 비어 있으면 true를 반환합니다.
print() - 이것은 스택에 있는 모든 값을 반환하는 도움이 되는 메서드입니다.
// print function
print()
{
let string = "";
for (let i = 0; i < this.items.length; i++)
string += this.items[i] + " ";
return string;
이제 우리는 스택 클래스 정의를 마쳤고 그 메서드는 이제 몇 가지 기능을 테스트할 수 있습니다. 아래에 표시된 예가 있습니다.
이제 기능 구현 및 테스트를 완료했으므로 다른 애플리케이션 방법을 만들 수 있습니다.
스택 개념을 더 잘 이해하게 될 것입니다.
다음 기사 해피 코딩에서 만나요.
Reference
이 문제에 관하여(JavaScript에서 스택 구현), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/collins87mbathi/implementing-stack-in-javascript-37if텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)