Skip to content

Commit 5ce855c

Browse files
authored
[Term Entry] C++ Deque: swap() (#7713)
* Add Cpp swap() deque method * minor fixes in the codes * Update swap.md * format fix ---------
1 parent 77ffa0d commit 5ce855c

File tree

1 file changed

+110
-0
lines changed
  • content/cpp/concepts/deque/terms/swap

1 file changed

+110
-0
lines changed
Lines changed: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
1+
---
2+
Title: '.swap()'
3+
Description: 'Exchanges the contents of one deque with another of the same type and size.'
4+
Subjects:
5+
- 'Code Foundations'
6+
- 'Computer Science'
7+
Tags:
8+
- 'Classes'
9+
- 'Containers'
10+
- 'Deques'
11+
- 'Data Structures'
12+
CatalogContent:
13+
- 'learn-c-plus-plus'
14+
- 'paths/computer-science'
15+
---
16+
17+
The **`.swap()`** [method](https://www.codecademy.com/resources/docs/cpp/methods) exchanges the contents of one [`deque`](https://www.codecademy.com/resources/docs/cpp/deque) with another deque of the same type. After the swap, each deque holds the elements that were originally in the other.
18+
19+
## Syntax
20+
21+
```pseudo
22+
deque1.swap(deque2);
23+
```
24+
25+
**Parameters:**
26+
27+
- `deque2`: The deque whose contents will be exchanged with `deque1`.
28+
29+
**Return value:**
30+
31+
This method does not return a value.
32+
33+
## Example
34+
35+
This example demonstrates swapping the contents of two integer deques using `.swap()`:
36+
37+
```cpp
38+
#include <iostream>
39+
#include <deque>
40+
using namespace std;
41+
42+
int main() {
43+
deque<int> deque1 = {1, 2, 3};
44+
deque<int> deque2 = {10, 20, 30, 40};
45+
46+
cout << "Before swap:" << endl;
47+
cout << "Deque 1: ";
48+
for (int num : deque1) cout << num << " ";
49+
cout << endl;
50+
51+
cout << "Deque 2: ";
52+
for (int num : deque2) cout << num << " ";
53+
cout << endl;
54+
55+
deque1.swap(deque2);
56+
57+
cout << "\nAfter swap:" << endl;
58+
cout << "Deque 1: ";
59+
for (int num : deque1) cout << num << " ";
60+
cout << endl;
61+
62+
cout << "Deque 2: ";
63+
for (int num : deque2) cout << num << " ";
64+
cout << endl;
65+
66+
return 0;
67+
}
68+
```
69+
70+
The output of this code is:
71+
72+
```shell
73+
Before swap:
74+
Deque 1: 1 2 3
75+
Deque 2: 10 20 30 40
76+
77+
After swap:
78+
Deque 1: 10 20 30 40
79+
Deque 2: 1 2 3
80+
```
81+
82+
## Codebyte Example
83+
84+
This example swaps the contents of two deques containing strings:
85+
86+
```codebyte/cpp
87+
#include <iostream>
88+
#include <deque>
89+
#include <string>
90+
using namespace std;
91+
92+
int main() {
93+
deque<string> dequeA = {"apple", "banana"};
94+
deque<string> dequeB = {"cherry", "date"};
95+
96+
cout << "Before swap:" << endl;
97+
cout << "Deque A:";
98+
for (const auto& value : dequeA) cout << ' ' << value;
99+
cout << "\nDeque B:";
100+
for (const auto& value : dequeB) cout << ' ' << value;
101+
102+
dequeA.swap(dequeB);
103+
104+
cout << "\n\nAfter swap:" << endl;
105+
cout << "Deque A:";
106+
for (const auto& value : dequeA) cout << ' ' << value;
107+
cout << "\nDeque B:";
108+
for (const auto& value : dequeB) cout << ' ' << value;
109+
}
110+
```

0 commit comments

Comments
 (0)