Deque

Deque

Deque(덱,Double-ended queue)는 양쪽 끝에서 요소들의 삽입과 삭제가 가능한 자료구조의 형태를 가지고 있으며, 큐와 스택의 개념을 합친 개념이다.

Constructor

new Deque()

Author:
  • ljsoo0925@gmail.com
Example
var dq = new Deque ();

Methods

(static) at(position) → {undefined}

This method is used to get the value from the specified position of this deque, but does not remove.
Example
var dq = new Deque ();
dq.push_front(1);
dq.push_front(2);
dq.push_back(3);
dq.push_back(4);
var ret1 = dq.at(0); // ret1 = 2
var ret2 = dq.at(2); // ret2 = 3
Parameters:
Name Type Description
position Number The position which want to get value from this deque.
Throws:
This method returns null if the deque is empty, or 'false' if the parameter is missing.
Returns:
This method returns the value from the specified position from this deque.
Type
undefined

(static) back()

This method is used to get the value at the end of this deque.
Example
var dq = new Deque ();
dq.push_front(1);
dq.push_front(2);
dq.push_back(3);
dq.push_back(4);
var ret1 = dq.back(); // ret1 = 4
var ret2 = dq.back(); // ret2 = 3
Throws:
This method returns null if the deque is empty.

(static) begin() → {iterator}

This method is used to get the iterator at the front of this deque.
Example
var dq = new Deque ();
dq.push_front(1);
dq.push_front(2);
dq.push_back(3);
dq.push_back(4);
var ret = dq.begin();
Throws:
This method returns null if the deque is empty.
Returns:
This method returns iterator at the front of this deque.
Type
iterator

(static) clear()

This method is used to remove all of the values from this deque.
Example
var dq = new Deque ();
dq.push_front(1);
dq.push_front(2);
dq.push_back(3);
dq.push_back(4);
dq.clear();  

(static) end() → {iterator}

This method is used to get the iterator at the end of this deque.
Example
var dq = new Deque ();
dq.push_front(1);
dq.push_front(2);
dq.push_back(3);
dq.push_back(4);
var ret = dq.end();
Throws:
This method returns null if the deque is empty.
Returns:
This method returns iterator at the end of this deque.
Type
iterator

(static) erase(position)

This method is used to remove the value from the specified position from this deque.
Example
var dq = new Deque ();
dq.push_front(1);
dq.push_front(2);
dq.push_back(3);
dq.push_back(4);
dq.erase(2); // 3 will be removed.
Parameters:
Name Type Description
position Number The position to be removed from this deque.
Throws:
This method returns null if this deque is empty, or 'false' if the parameter is missing.

(static) front()

This method is used to get the value at the front of this deque.
Example
var dq = new Deque ();
dq.push_front(1);
dq.push_front(2);
dq.push_back(3);
dq.push_back(4);
var ret1 = dq.front(); // ret1 = 2
var ret2 = dq.front(); // ret2 = 1
Throws:
This method returns null if the deque is empty.

(static) isEmpty() → {Boolean}

This method is used to check if this deque is empty.
Example
var dq = new Deque ();
var ret1 = dq.isEmpty(); // ret1 = true;
dq.push_front(1);
dq.push_front(2);
dq.push_back(3);
dq.push_back(4);
var ret2 = dq.isEmpty(); // ret2 = false
Returns:
This method returns ‘true’ if this deque is empty or ‘false’ if this deque is not empty.
Type
Boolean

(static) pop_back()

This method is used to remove the value from the end of this deque.
Example
var dq = new Deque ();
dq.push_front(1);
dq.push_front(2);
dq.push_back(3);
dq.push_back(4);
dq.pop_back(); // 4 will be removed.
Throws:
This method returns null if this deque is empty.

(static) pop_front()

This method is used to remove the value from the front of this deque.
Example
var dq = new Deque ();
dq.push_front(1);
dq.push_front(2);
dq.push_back(3);
dq.push_back(4);
dq.pop_front(); // 2 will be removed.
Throws:
This method returns null if this deque is empty.

(static) push_back(value)

This method is used to insert the specified value at the end of this deque.
Example
var dq = new Deque ();
dq.push_back(3);
dq.push_back(4);
Parameters:
Name Type Description
value undefined The value to be inserted to this deque.
Throws:
This method returns 'false' if the parameter is missing.

(static) push_front(value)

This method is used to insert the specified value at the front of this deque.
Example
var dq = new Deque ();
dq.push_front(1);
dq.push_front(2);
Parameters:
Name Type Description
value undefined The value to be inserted to this deque.
Throws:
This method returns 'false' if the parameter is missing.

(static) size() → {Number}

This method is used to get the number of values in this deque.
Example
var dq = new Deque ();
dq.push_front(1);
dq.push_front(2);
dq.push_back(3);
dq.push_back(4);
var size = dq.size(); // ret = 4
Returns:
This method returns the number of values in this deque.
Type
Number