자바스크립트 큐(Queue) - Queue
- 자바스크립트의 큐는 자바로 구현 할 때보다 손쉽게 구현 가능하다
- 기존에 push(), shift() 함수를 이용한다
1. Queue.class
123456789function
Queue(){
this
.dataStore = [];
this
.enqueue = enqueue;
this
.dequeue = dequeue;
this
.toString = toString;
this
.front = front;
this
.back = back;
this
.empty = empty;
}
- enqueue() : 데이터를 넣는다
- dequeue() : 맨 앞에 넣은 데이터를 뽑는다
- front() : 앞에있는 데이터를 가져온다
- back() : 뒤에 있는 데이터를 가져온다
- empty() : 큐가 비어있는지 체크한다
2. enqueue(), dequeue()
1 2 3 4 5 6 | function enqueue(element){ this .dataStore.push(element); } function dequeue(){ this .dataStore.shift(); } |
- 기존 자바스크립트 함수 push(), shift()를 활용한다
3. front(), back()
1 2 3 4 5 6 | function front(){ return this .dataStore[0]; } function back(){ return this .dataStore[ this .dataStore.length-1]; } |
4. empty(), toString()
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | function toString(){ var str= "" for ( var i = 0; i< this .dataStore.length; i++){ str += this .dataStore[i] + " " ; } return str; } function empty(){ if ( this .dataStore.length == 0){ return true ; } else { return false ; } } |
5. 실행
1 2 3 4 5 6 7 8 9 10 11 | var queue = new Queue(); queue.enqueue(2); queue.enqueue(5); queue.enqueue(6); queue.enqueue(7); document.write( "<br>" +queue.toString()); queue.dequeue(); queue.dequeue(); document.write( "<br>" +queue.front()); document.write( "<br>" +queue.back()); document.write( "<br>" +queue.toString()); |
'Javascript > DataStructures' 카테고리의 다른 글
[Javascript] 자바스크립트 스택 - Stack (0) | 2016.12.01 |
---|---|
[Javascript]리스트 - List ADT (abstract data type) (0) | 2016.11.29 |