File tree Expand file tree Collapse file tree 1 file changed +47
-0
lines changed Expand file tree Collapse file tree 1 file changed +47
-0
lines changed Original file line number Diff line number Diff line change
1
+ class Queue {
2
+ constructor ( ) {
3
+ this . items = { } ;
4
+ this . front = 0 ;
5
+ this . rear = 0 ;
6
+ }
7
+
8
+ enqueue ( element ) {
9
+ this . items [ this . rear ] = element ;
10
+ this . rear ++ ;
11
+ }
12
+
13
+ dequeue ( ) {
14
+ const item = this . items [ this . front ] ;
15
+ delete this . items [ this . front ] ;
16
+ this . front ++ ;
17
+ return item ;
18
+ }
19
+
20
+ peek ( ) {
21
+ return this . items [ this . front ] ;
22
+ }
23
+
24
+ size ( ) {
25
+ return this . rear - this . front ;
26
+ }
27
+
28
+ isEmpty ( ) {
29
+ return this . rear - this . front === 0 ;
30
+ }
31
+
32
+ print ( ) {
33
+ console . log ( this . items ) ;
34
+ }
35
+ }
36
+
37
+ const queue = new Queue ( ) ;
38
+ console . log ( queue . isEmpty ( ) ) ;
39
+ queue . enqueue ( 10 ) ;
40
+ queue . enqueue ( 20 ) ;
41
+ queue . enqueue ( 30 ) ;
42
+ console . log ( queue . size ( ) ) ;
43
+ queue . print ( ) ;
44
+ console . log ( queue . dequeue ( ) ) ;
45
+ console . log ( queue . peek ( ) ) ;
46
+ console . log ( queue . isEmpty ( ) ) ;
47
+ queue . print ( ) ;
You can’t perform that action at this time.
0 commit comments