JS의 데이터 구조 스택
5941 단어 javascript
스택이란?
실제 상황에서 스택은 모든 곳에서 찾을 수 있습니다. 접시가 차곡차곡 쌓여 있는 주방에서는 완벽하게 작동하는 접시를 볼 수 있습니다. 깨끗한 접시가 있으면 스택 맨 위에 놓고 새 접시를 얻으려면 일반적으로 스택 맨 위에서 가져옵니다. 스택에 대한 말 그대로 수천 개의 밈이 있습니다.
JavaScript의 스택
JavaScript에서 스택은 실행 및 실행 취소 기능을 구현하는 데 사용할 수 있습니다.
JavaScript 언어 자체는 호출 스택을 사용하여 다음에 호출할 함수를 파악합니다. 이것이 어떻게 작동하는지에 대한 멋진 이야기가 있으며 MDN에서 자세한 설명을 찾을 수 있습니다.
배열을 사용하여 스택을 구현할 수 있습니다. 다음 예제는 함수가 있는 함수를 사용한 구현을 보여줍니다.
건설자.
/**
* Represents a stack.
* @constructor
* @param {array} items - the array to store elements in the stack
*/
const Stack = (items = []) => {
let _storage = items;
/**
* Returns and removes the top element of the stack.
* @return {*} the most recently added element of the stack
*/
const pop = () => {
return _storage.pop();
};
/**
* Adds a new element at then end (on top) of the stack.
* @param {*} element which should be put on top of the stack
*/
const push = (element) => {
_storage.push(element);
};
/**
* Returns the current size (length) of the stack
* @return {number} current size of the stack
*/
const size = () => {
return _storage.length;
};
/**
* Returns the value at the end of the stack without removing it
* @return {*} the last and newest value in the stack
*/
const peek = () => {
return _storage[size() - 1];
};
/*
* @return {*} wheter no values are stored in stack
*/
const isEmpty = () => {
return _storage.length === 0;
};
/**
* Empties the stack
*/
const reset = () => {
_storage = [];
};
return {
pop,
push,
peek,
size,
reset,
isEmpty,
};
};
Visaulgo에서 스택의 멋진 시각적 표현도 찾을 수 있습니다.
그들은 배열 대신 스택을 구현하기 위해 목록을 사용했습니다.
실제 사용 및 문제
스택 데이터 구조를 사용할 수 있는 몇 가지 실제 사용 사례 및 질문입니다.
스택을 사용할 수 있는 문제를 https://adventofcode.com/에서 찾을 수도 있습니다.
Reference
이 문제에 관하여(JS의 데이터 구조 스택), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/jcofman/datastructure-stacks-in-js-ek4텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)