changes as per request

pull/1282/head
mankalavaishnavi 2024-06-27 20:00:20 +05:30
rodzic 91318d8743
commit 1954374803
1 zmienionych plików z 111 dodań i 63 usunięć

Wyświetl plik

@ -19,86 +19,134 @@ d = deque(iterable) # Create deque from iterable (optional)
- append(x): Adds element x to the right end of the deque.
- appendleft(x): Adds element x to the left end of the deque.
### Program
```py
from collections import deque
# Initialize a deque
d = deque([1, 2, 3, 4, 5])
print("Initial deque:", d)
# Append elements
d.append(6)
print("After append(6):", d)
# Append left
d.appendleft(0)
print("After appendleft(0):", d)
```
### Output
```py
Initial deque: deque([1, 2, 3, 4, 5])
After append(6): deque([1, 2, 3, 4, 5, 6])
After appendleft(0): deque([0, 1, 2, 3, 4, 5, 6])
```
2. **Removing Elements**:
- pop(): Removes and returns the rightmost element.
- popleft(): Removes and returns the leftmost element.
### Program
```py
from collections import deque
# Initialize a deque
d = deque([1, 2, 3, 4, 5])
print("Initial deque:", d)
# Pop from the right end
rightmost = d.pop()
print("Popped from right end:", rightmost)
print("Deque after pop():", d)
# Pop from the left end
leftmost = d.popleft()
print("Popped from left end:", leftmost)
print("Deque after popleft():", d)
```
### Output
```py
Initial deque: deque([1, 2, 3, 4, 5])
Popped from right end: 5
Deque after pop(): deque([1, 2, 3, 4])
Popped from left end: 1
Deque after popleft(): deque([2, 3, 4])
```
3. **Accessing Elements**:
- deque[index]: Accesses element at index.
### Program
```py
from collections import deque
# Initialize a deque
d = deque([1, 2, 3, 4, 5])
print("Initial deque:", d)
# Accessing elements
print("Element at index 2:", d[2])
```
### Output
```py
Initial deque: deque([1, 2, 3, 4, 5])
Element at index 2: 3
```
4. **Other Operations**:
- extend(iterable): Extends deque by appending elements from iterable.
- extendleft(iterable): Extends deque by appending elements from iterable to the left.
- rotate(n): Rotates deque n steps to the right (negative n rotates left).
### Program
```py
from collections import deque
# Initialize a deque
d = deque([1, 2, 3, 4, 5])
print("Initial deque:", d)
# Extend deque
d.extend([6, 7, 8])
print("After extend([6, 7, 8]):", d)
# Extend left
d.extendleft([-1, 0])
print("After extendleft([-1, 0]):", d)
# Rotate deque
d.rotate(2)
print("After rotate(2):", d)
# Rotate left
d.rotate(-3)
print("After rotate(-3):", d)
```
### Output
```py
Initial deque: deque([1, 2, 3, 4, 5])
After extend([6, 7, 8]): deque([1, 2, 3, 4, 5, 6, 7, 8])
After extendleft([-1, 0]): deque([0, -1, 1, 2, 3, 4, 5, 6, 7, 8])
After rotate(2): deque([7, 8, 0, -1, 1, 2, 3, 4, 5, 6])
After rotate(-3): deque([1, 2, 3, 4, 5, 6, 7, 8, 0, -1])
```
## Example
### 1. showing all the operations
```py
from collections import deque
# Initialize a deque
d = deque([1, 2, 3, 4, 5])
print("Initial deque:", d)
# Append elements
d.append(6)
print("After append(6):", d)
# Append left
d.appendleft(0)
print("After appendleft(0):", d)
# Pop from the right end
rightmost = d.pop()
print("Popped from right end:", rightmost)
print("Deque after pop():", d)
# Pop from the left end
leftmost = d.popleft()
print("Popped from left end:", leftmost)
print("Deque after popleft():", d)
# Accessing elements
print("Element at index 2:", d[2])
# Extend deque
d.extend([6, 7, 8])
print("After extend([6, 7, 8]):", d)
# Extend left
d.extendleft([-1, 0])
print("After extendleft([-1, 0]):", d)
# Rotate deque
d.rotate(2)
print("After rotate(2):", d)
# Rotate left
d.rotate(-3)
print("After rotate(-3):", d)
```
Output
```py
Initial deque: deque([1, 2, 3, 4, 5])
After append(6): deque([1, 2, 3, 4, 5, 6])
After appendleft(0): deque([0, 1, 2, 3, 4, 5, 6])
Popped from right end: 6
Deque after pop(): deque([0, 1, 2, 3, 4, 5])
Popped from left end: 0
Deque after popleft(): deque([1, 2, 3, 4, 5])
Element at index 2: 3
After extend([6, 7, 8]): deque([1, 2, 3, 4, 5, 6, 7, 8])
After extendleft([-1, 0]): deque([0, -1, 1, 2, 3, 4, 5, 6, 7, 8])
After rotate(2): deque([7, 8, 0, -1, 1, 2, 3, 4, 5, 6])
After rotate(-3): deque([1, 2, 3, 4, 5, 6, 7, 8, 0, -1])
```
### 2. Finding Maximum in Sliding Window
### 1. Finding Maximum in Sliding Window
```py
from collections import deque