donaricano-btn

자바스크립트 큐(Queue)  - Queue

- 자바스크립트의 큐는 자바로 구현 할 때보다  손쉽게 구현 가능하다

- 기존에 push(), shift() 함수를 이용한다


1. Queue.class

1
2
3
4
5
6
7
8
9
function 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());
 

블로그 이미지

리딩리드

,