File tree Expand file tree Collapse file tree 1 file changed +79
-0
lines changed Expand file tree Collapse file tree 1 file changed +79
-0
lines changed Original file line number Diff line number Diff line change
1
+ class _Node :
2
+ __slots__ = '_element' , '_next'
3
+
4
+ def __init__ (self , element , next ):
5
+ self ._element = element
6
+ self ._next = next
7
+
8
+ class QueuesLinked :
9
+ def __init__ (self ):
10
+ self ._front = None
11
+ self ._rear = None
12
+ self ._size = 0
13
+
14
+ def __len__ (self ):
15
+ return self ._size
16
+
17
+ def isempty (self ):
18
+ return self ._size == 0
19
+
20
+ def enqueue (self , e ):
21
+ newest = _Node (e , None )
22
+ if self .isempty ():
23
+ self ._front = newest
24
+ else :
25
+ self ._rear ._next = newest
26
+ self ._rear = newest
27
+ self ._size += 1
28
+
29
+ def dequeue (self ):
30
+ if self .isempty ():
31
+ print ('Queue is empty' )
32
+ return
33
+ e = self ._front ._element
34
+ self ._front = self ._front ._next
35
+ self ._size -= 1
36
+ if self .isempty ():
37
+ self ._rear = None
38
+ return e
39
+
40
+ def first (self ):
41
+ if self .isempty ():
42
+ print ('Queue is empty' )
43
+ return
44
+ return self ._front ._element
45
+
46
+ def display (self ):
47
+ p = self ._front
48
+ while p :
49
+ print (p ._element ,end = ' <-- ' )
50
+ p = p ._next
51
+ print ()
52
+
53
+
54
+ Q = QueuesLinked ()
55
+ Q .enqueue (5 )
56
+ Q .enqueue (3 )
57
+ print ('Queue:' )
58
+ Q .display ()
59
+ print ('Queue Length:' , len (Q ))
60
+ ele = Q .dequeue ()
61
+ print ('Queue:' )
62
+ Q .display ()
63
+ print ('Queue Length:' , len (Q ))
64
+ print ('Removed Element:' ,ele )
65
+ print ('Is Queue Empty:' ,Q .isempty ())
66
+ Q .enqueue (7 )
67
+ print ('Queue:' )
68
+ Q .display ()
69
+ print ('Queue Length:' , len (Q ))
70
+ Q .enqueue (12 )
71
+ print ('Queue:' )
72
+ Q .display ()
73
+ print ('Queue Length:' , len (Q ))
74
+ ele = Q .dequeue ()
75
+ print ('Queue:' )
76
+ Q .display ()
77
+ print ('Queue Length:' , len (Q ))
78
+ print ('Removed Element:' ,ele )
79
+ print ('First Element:' ,Q .first ())
You can’t perform that action at this time.
0 commit comments