File tree Expand file tree Collapse file tree 1 file changed +48
-0
lines changed
JavaScript/data_structures/queue Expand file tree Collapse file tree 1 file changed +48
-0
lines changed Original file line number Diff line number Diff line change 1+ class Queue {
2+ constructor ( ) {
3+ this . items = [ ] ;
4+ }
5+
6+ // Add element to rear
7+ enqueue ( element ) {
8+ this . items . push ( element ) ;
9+ }
10+
11+ // Remove element from front
12+ dequeue ( ) {
13+ if ( this . isEmpty ( ) ) return "Underflow" ;
14+ return this . items . shift ( ) ;
15+ }
16+
17+ // Get front element
18+ peek ( ) {
19+ if ( this . isEmpty ( ) ) return "No elements in Queue" ;
20+ return this . items [ 0 ] ;
21+ }
22+
23+ // Check if empty
24+ isEmpty ( ) {
25+ return this . items . length === 0 ;
26+ }
27+
28+ // Size of queue
29+ size ( ) {
30+ return this . items . length ;
31+ }
32+
33+ // Display queue
34+ print ( ) {
35+ console . log ( this . items . join ( " <- " ) ) ;
36+ }
37+ }
38+
39+ // Example usage:
40+ const q = new Queue ( ) ;
41+ q . enqueue ( 10 ) ;
42+ q . enqueue ( 20 ) ;
43+ q . enqueue ( 30 ) ;
44+ q . print ( ) ; // Output: 10 <- 20 <- 30
45+ console . log ( q . dequeue ( ) ) ; // Output: 10
46+ console . log ( q . peek ( ) ) ; // Output: 20
47+ console . log ( q . size ( ) ) ; // Output: 2
48+ console . log ( q . isEmpty ( ) ) ; // Output: false
You can’t perform that action at this time.
0 commit comments