@@ -19,86 +19,134 @@ d = deque(iterable) # Create deque from iterable (optional)
19
19
- append(x): Adds element x to the right end of the deque.
20
20
- appendleft(x): Adds element x to the left end of the deque.
21
21
22
+ ### Program
23
+ ``` py
24
+ from collections import deque
25
+
26
+ # Initialize a deque
27
+ d = deque([1 , 2 , 3 , 4 , 5 ])
28
+ print (" Initial deque:" , d)
29
+
30
+ # Append elements
31
+ d.append(6 )
32
+ print (" After append(6):" , d)
33
+
34
+ # Append left
35
+ d.appendleft(0 )
36
+ print (" After appendleft(0):" , d)
37
+
38
+ ```
39
+ # ## Output
40
+ ```py
41
+ Initial deque: deque([1 , 2 , 3 , 4 , 5 ])
42
+ After append(6 ): deque([1 , 2 , 3 , 4 , 5 , 6 ])
43
+ After appendleft(0 ): deque([0 , 1 , 2 , 3 , 4 , 5 , 6 ])
44
+ ```
45
+
22
46
2 . ** Removing Elements** :
23
47
24
48
- pop(): Removes and returns the rightmost element.
25
49
- popleft(): Removes and returns the leftmost element.
26
50
51
+ # ## Program
52
+ ```py
53
+ from collections import deque
54
+
55
+ # Initialize a deque
56
+ d = deque([1 , 2 , 3 , 4 , 5 ])
57
+ print (" Initial deque:" , d)
58
+
59
+ # Pop from the right end
60
+ rightmost = d.pop()
61
+ print (" Popped from right end:" , rightmost)
62
+ print (" Deque after pop():" , d)
63
+
64
+ # Pop from the left end
65
+ leftmost = d.popleft()
66
+ print (" Popped from left end:" , leftmost)
67
+ print (" Deque after popleft():" , d)
68
+
69
+ ```
70
+
71
+ # ## Output
72
+ ```py
73
+ Initial deque: deque([1 , 2 , 3 , 4 , 5 ])
74
+ Popped from right end: 5
75
+ Deque after pop(): deque([1 , 2 , 3 , 4 ])
76
+ Popped from left end: 1
77
+ Deque after popleft(): deque([2 , 3 , 4 ])
78
+ ```
79
+
27
80
3 . ** Accessing Elements** :
28
81
29
82
- deque[index]: Accesses element at index.
30
83
84
+ # ## Program
85
+ ```py
86
+ from collections import deque
87
+
88
+ # Initialize a deque
89
+ d = deque([1 , 2 , 3 , 4 , 5 ])
90
+ print (" Initial deque:" , d)
91
+
92
+ # Accessing elements
93
+ print (" Element at index 2:" , d[2 ])
94
+
95
+ ```
96
+
97
+ # ## Output
98
+ ```py
99
+ Initial deque: deque([1 , 2 , 3 , 4 , 5 ])
100
+ Element at index 2 : 3
101
+
102
+ ```
103
+
31
104
4 . ** Other Operations** :
32
105
33
106
- extend(iterable): Extends deque by appending elements from iterable.
34
107
- extendleft(iterable): Extends deque by appending elements from iterable to the left.
35
108
- rotate(n): Rotates deque n steps to the right (negative n rotates left).
36
109
37
- ## Example
38
-
39
- ### 1. showing all the operations
40
- ``` py
41
- from collections import deque
110
+ # ## Program
111
+ ```py
112
+ from collections import deque
42
113
43
- # Initialize a deque
44
- d = deque([1 , 2 , 3 , 4 , 5 ])
45
- print (" Initial deque:" , d)
114
+ # Initialize a deque
115
+ d = deque([1 , 2 , 3 , 4 , 5 ])
116
+ print (" Initial deque:" , d)
46
117
47
- # Append elements
48
- d.append( 6 )
49
- print (" After append(6 ):" , d)
118
+ # Extend deque
119
+ d.extend([ 6 , 7 , 8 ] )
120
+ print (" After extend([6, 7, 8] ):" , d)
50
121
51
- # Append left
52
- d.appendleft( 0 )
53
- print (" After appendleft(0 ):" , d)
122
+ # Extend left
123
+ d.extendleft([ - 1 , 0 ] )
124
+ print (" After extendleft([-1, 0] ):" , d)
54
125
55
- # Pop from the right end
56
- rightmost = d.pop()
57
- print (" Popped from right end:" , rightmost)
58
- print (" Deque after pop():" , d)
126
+ # Rotate deque
127
+ d.rotate(2 )
128
+ print (" After rotate(2):" , d)
59
129
60
- # Pop from the left end
61
- leftmost = d.popleft()
62
- print (" Popped from left end:" , leftmost)
63
- print (" Deque after popleft():" , d)
130
+ # Rotate left
131
+ d.rotate(- 3 )
132
+ print (" After rotate(-3):" , d)
64
133
65
- # Accessing elements
66
- print (" Element at index 2:" , d[2 ])
134
+ ```
67
135
68
- # Extend deque
69
- d.extend([6 , 7 , 8 ])
70
- print (" After extend([6, 7, 8]):" , d)
136
+ # ## Output
137
+ ```py
138
+ Initial deque: deque([1 , 2 , 3 , 4 , 5 ])
139
+ After extend([6 , 7 , 8 ]): deque([1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 ])
140
+ After extendleft([- 1 , 0 ]): deque([0 , - 1 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 ])
141
+ After rotate(2 ): deque([7 , 8 , 0 , - 1 , 1 , 2 , 3 , 4 , 5 , 6 ])
142
+ After rotate(- 3 ): deque([1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 0 , - 1 ])
71
143
72
- # Extend left
73
- d.extendleft([- 1 , 0 ])
74
- print (" After extendleft([-1, 0]):" , d)
144
+ ```
75
145
76
- # Rotate deque
77
- d.rotate(2 )
78
- print (" After rotate(2):" , d)
79
146
80
- # Rotate left
81
- d.rotate(- 3 )
82
- print (" After rotate(-3):" , d)
83
- ```
84
- Output
85
- ``` py
86
- Initial deque: deque([1 , 2 , 3 , 4 , 5 ])
87
- After append(6 ): deque([1 , 2 , 3 , 4 , 5 , 6 ])
88
- After appendleft(0 ): deque([0 , 1 , 2 , 3 , 4 , 5 , 6 ])
89
- Popped from right end: 6
90
- Deque after pop(): deque([0 , 1 , 2 , 3 , 4 , 5 ])
91
- Popped from left end: 0
92
- Deque after popleft(): deque([1 , 2 , 3 , 4 , 5 ])
93
- Element at index 2 : 3
94
- After extend([6 , 7 , 8 ]): deque([1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 ])
95
- After extendleft([- 1 , 0 ]): deque([0 , - 1 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 ])
96
- After rotate(2 ): deque([7 , 8 , 0 , - 1 , 1 , 2 , 3 , 4 , 5 , 6 ])
97
- After rotate(- 3 ): deque([1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 0 , - 1 ])
98
-
99
- ```
147
+ # # Example
100
148
101
- ### 2 . Finding Maximum in Sliding Window
149
+ # ## 1 . Finding Maximum in Sliding Window
102
150
```py
103
151
from collections import deque
104
152
0 commit comments