Javascript의 큐 데이터 구조
Front
라고 하는 한쪽 끝에서 요소 삭제가 발생할 수 있고 Rear
라고 하는 다른 쪽 끝에서 삽입이 발생할 수 있는 요소의 선형 목록입니다.대기열의 첫 번째 요소가 목록에서 제거되는 첫 번째 요소가 됩니다. 큐는 FIFO(FIRST IN FIRST OUT)라고도 합니다.
대기열을 줄처럼 생각하십시오. 수평입니다. 라인/대기열의 첫 번째 항목은 첫 번째 항목입니다. 선은 왼쪽에서 시작하여 오른쪽에서 끝납니다. 따라서 배열의 "마지막"요소를 제거하려면 pop()을 사용합니다.
대기열의 적용
기본 조작
수행할 수 있는 기본 연산은 Enqueue
, dequeue
및 display
입니다.
Enqueue(삽입 용어) - 큐에 항목을 추가합니다.
dequeue(삭제의 용어) - 대기열에서 항목 제거
IsEmpty - 대기열이 비어 있는지 확인합니다.
IsFull - 큐가 가득 찼는지 확인합니다.
Peek - 제거하지 않고 대기열의 맨 앞에 있는 요소를 가져옵니다.
대기열 사용 방법
대기열 데이터 구조를 만듭니다. 대기열은 메서드enqueue
및 dequeue
가 있는 클래스여야 합니다. 대기열에 추가하면 다음까지 요소를 저장해야 합니다.
제거됩니다.
구현할 기능
enqueue(item)
dequeue()
front()
isEmpty()
예 사용법
const q = new Queue();
q.enqueue(1);
q.dequeue(); // returns 1;
// Queue class
class Queue {
constructor() {
// Array is used to implement a Queue
this.data = [];
}
// Functions to be implemented
// enqueue(item)
// dequeue()
// front()
// isEmpty()
// Adds an element to the queue
enqueue(item) {
this.data.unshift(item);
}
// removing element from the queue
// returns underflow when called
// on empty queue
dequeue() {
if (this.isEmpty()) {
return "Underflow";
}
return this.data.shift();
}
// front function
front() {
// returns the Front element of
// the queue without removing it.
if (this.isEmpty())
return "No elements in Queue";
return this.data[0];
}
// isEmpty function
isEmpty() {
// return true if the queue is empty.
return this.data.length === 0;
}
}
module.exports = Queue;
이 기사가 도움이 되었으면 이 채널 팔로우를 클릭하여 Javascript를 사용한 데이터 구조에 대한 추가 기사를 확인하십시오.
Reference
이 문제에 관하여(Javascript의 큐 데이터 구조), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/datastructures/queue-data-structure-in-javacript-1mf5
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
대기열 데이터 구조를 만듭니다. 대기열은 메서드
enqueue
및 dequeue
가 있는 클래스여야 합니다. 대기열에 추가하면 다음까지 요소를 저장해야 합니다.제거됩니다.
구현할 기능
enqueue(item)
dequeue()
front()
isEmpty()
예 사용법
const q = new Queue();
q.enqueue(1);
q.dequeue(); // returns 1;
// Queue class
class Queue {
constructor() {
// Array is used to implement a Queue
this.data = [];
}
// Functions to be implemented
// enqueue(item)
// dequeue()
// front()
// isEmpty()
// Adds an element to the queue
enqueue(item) {
this.data.unshift(item);
}
// removing element from the queue
// returns underflow when called
// on empty queue
dequeue() {
if (this.isEmpty()) {
return "Underflow";
}
return this.data.shift();
}
// front function
front() {
// returns the Front element of
// the queue without removing it.
if (this.isEmpty())
return "No elements in Queue";
return this.data[0];
}
// isEmpty function
isEmpty() {
// return true if the queue is empty.
return this.data.length === 0;
}
}
module.exports = Queue;
이 기사가 도움이 되었으면 이 채널 팔로우를 클릭하여 Javascript를 사용한 데이터 구조에 대한 추가 기사를 확인하십시오.
Reference
이 문제에 관하여(Javascript의 큐 데이터 구조), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/datastructures/queue-data-structure-in-javacript-1mf5
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
const q = new Queue();
q.enqueue(1);
q.dequeue(); // returns 1;
// Queue class
class Queue {
constructor() {
// Array is used to implement a Queue
this.data = [];
}
// Functions to be implemented
// enqueue(item)
// dequeue()
// front()
// isEmpty()
// Adds an element to the queue
enqueue(item) {
this.data.unshift(item);
}
// removing element from the queue
// returns underflow when called
// on empty queue
dequeue() {
if (this.isEmpty()) {
return "Underflow";
}
return this.data.shift();
}
// front function
front() {
// returns the Front element of
// the queue without removing it.
if (this.isEmpty())
return "No elements in Queue";
return this.data[0];
}
// isEmpty function
isEmpty() {
// return true if the queue is empty.
return this.data.length === 0;
}
}
module.exports = Queue;
Reference
이 문제에 관하여(Javascript의 큐 데이터 구조), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/datastructures/queue-data-structure-in-javacript-1mf5텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)