728x90
큐(queue)
-리스트의 일종으로 끝부분으로 데이터가 삽입되고 앞부분에서는 데이터가 삭제되는 자료구조다.
-선입선출 First-in First-out , FIFO
-삽입하는 동작이 enqueue(인큐), 삭제하는 동작이 dequeue(데큐)
인큐는 큐의 끝부분에서 추가(push), 데큐는 큐의 앞부분에서 삭제(shift)
-큐의 앞부분에 있는 요소를 확인할수 있는 기능을 피크(peek)라고 한다.
function Queue(){
this.dataStore = [];
this.enqueue = enqueue;
this.dequeue = dequeue;
this.front = front;
this.back = back;
this.toString = toString;
this.empty = empty;
}
function enqueue(element){
this.dataStore.push(element);
}
function dequeue(){
return this.dataStore.shift();
}
function front(){
return this.dataStore[0];
}
function back(){
return this.dataStore[this.dataStore.length-1];
}
function toString(){
let retStr = "";
for(let i=0; i<this.dataStore.length; ++i){
retStr += this.dataStore[i] + "\n";
}
return retStr;
}
function empty(){
if(this.dataStore.length == 0){
return true;
}
else {
return false;
}
}
728x90
'교육후 개인공부 > 알고리즘' 카테고리의 다른 글
[알고리즘] 이진트리, 이진탐색트리 (1) | 2024.01.28 |
---|---|
[알고리즘] 그래프, 정점, 간선, 가중치, 트리 (0) | 2024.01.28 |
[알고리즘] 스택 Stack (0) | 2024.01.28 |
[알고리즘] 공간복잡도 (0) | 2024.01.27 |
[알고리즘] 시간복잡도 (1) | 2024.01.27 |