File tree Expand file tree Collapse file tree 2 files changed +46
-0
lines changed Expand file tree Collapse file tree 2 files changed +46
-0
lines changed Original file line number Diff line number Diff line change 1
1
import "./styles.css" ;
2
+ import "./queue/ordinary/index" ;
2
3
3
4
export default function App ( ) {
4
5
return (
Original file line number Diff line number Diff line change
1
+ // 普通队列,first in -> first out
2
+ export default class Queue < T > {
3
+ private list : T [ ] = [ ] ;
4
+
5
+ // 向队列添加元素(一个或多个)
6
+ enqueue ( item : T | T [ ] ) {
7
+ if ( Array . isArray ( item ) ) {
8
+ return ( this . list = this . list . concat ( item ) ) ;
9
+ }
10
+ this . list . push ( item ) ;
11
+ }
12
+
13
+ // 从队列移除元素
14
+ dequeue ( ) {
15
+ this . list . shift ( ) ;
16
+ }
17
+
18
+ front = ( ) => ( this . list . length > 0 ? this . list [ 0 ] : "" ) ;
19
+
20
+ isEmpty ( ) {
21
+ return ! ! ! this . list . length ;
22
+ }
23
+
24
+ size ( ) {
25
+ return this . list . length ;
26
+ }
27
+
28
+ getList ( ) {
29
+ return this . list ;
30
+ }
31
+ }
32
+
33
+ const queue = new Queue < string > ( ) ;
34
+ queue . enqueue ( "loy1" ) ;
35
+
36
+ queue . enqueue ( [ "bike" , "pino" ] ) ;
37
+
38
+ queue . dequeue ( ) ;
39
+
40
+ console . log ( "list2====>" , queue . getList ( ) ) ;
41
+
42
+ // queue.dequeue();
43
+ // queue.dequeue();
44
+
45
+ console . log ( "empty===>" , queue . isEmpty ( ) ) ;
You can’t perform that action at this time.
0 commit comments