From d6758ed585e43a5c35e60feebd106ac230bb6603 Mon Sep 17 00:00:00 2001 From: Simeon Fadahunsi Date: Thu, 9 Oct 2025 18:54:22 +0200 Subject: [PATCH 1/4] Add Cpp swap() deque method --- content/cpp/concepts/deque/terms/swap/swap.md | 105 ++++++++++++++++++ 1 file changed, 105 insertions(+) create mode 100644 content/cpp/concepts/deque/terms/swap/swap.md diff --git a/content/cpp/concepts/deque/terms/swap/swap.md b/content/cpp/concepts/deque/terms/swap/swap.md new file mode 100644 index 00000000000..7e090a4eb29 --- /dev/null +++ b/content/cpp/concepts/deque/terms/swap/swap.md @@ -0,0 +1,105 @@ +--- +Title: '.swap()' +Description: 'Exchanges the contents of one deque with another of the same type and size.' +Subjects: + - 'Code Foundations' + - 'Computer Science' +Tags: + - 'Classes' + - 'Containers' + - 'Deques' + - 'Data Structures" +CatalogContent: + - 'learn-c-plus-plus' + - 'paths/computer-science' +--- + +The **`.swap()`** [method] (https://www.codecademy.com/resources/docs/cpp/methods) exchanges the contents of one deque with another deque of the same type. After the swap, each deque contains the elements that were originally stored in the other. + +## Syntax + +```pseudo +deque1.swap(deque2); +``` + +- `deque1`: The first deque that is going to take the content of deque2. +- `deque2`: The second deque whose contents are exchanged with deque1. + +## Example + +The following code demonstrates how to swap two integer variables using `.swap()`: + +```cpp +#include +#include +using namespace std; + +int main() { + // Create two deques of integers + std::deque deque1 = {1, 2, 3}; + std::deque deque2 = {10, 20, 30, 40}; + + // Display elements before swapping + std::cout << "Before swap:" << std::endl; + std::cout << "Deque 1: "; + for (int num : deque1) std::cout << num << " "; + std::cout << std::endl; + + std::cout << "Deque 2: "; + for (int num : deque2) std::cout << num << " "; + std::cout << std::endl; + + // Swap contents + deque1.swap(deque2); + + // Display elements after swapping + std::cout << "\nAfter swap:" << std::endl; + std::cout << "Deque 1: "; + for (int num : deque1) std::cout << num << " "; + std::cout << std::endl; + + std::cout << "Deque 2: "; + for (int num : deque2) std::cout << num << " "; + std::cout << std::endl; + + return 0; +} +``` +The output of this code is: + +```shell +Before swap: +Deque 1: 1 2 3 +Deque 2: 10 20 30 40 + +After swap: +Deque 1: 10 20 30 40 +Deque 2: 1 2 3 +``` + + +## Codebyte Example + +The following codebyte shows a quick example of using the .swap() method with two deques of strings: + +We can currently support: + +```codebyte/cpp +#include +#include +#include + +int main() { + std::deque dequeA = {"apple", "banana"}; + std::deque dequeB = {"cherry", "date"}; + + dequeA.swap(dequeB); + + std::cout << "Deque A:"; + for (const auto& value : dequeA) std::cout << ' ' << value; + + std::cout << "\nDeque B:"; + for (const auto& value : dequeB) std::cout << ' ' << value; +} + +``` From d8b4af4466e5983d2f2343b5bd0b42a06eac7068 Mon Sep 17 00:00:00 2001 From: Mamta Wardhani Date: Fri, 10 Oct 2025 16:13:29 +0530 Subject: [PATCH 2/4] minor fixes in the codes --- content/cpp/concepts/deque/terms/swap/swap.md | 87 ++++++++++--------- 1 file changed, 46 insertions(+), 41 deletions(-) diff --git a/content/cpp/concepts/deque/terms/swap/swap.md b/content/cpp/concepts/deque/terms/swap/swap.md index 7e090a4eb29..e14af860295 100644 --- a/content/cpp/concepts/deque/terms/swap/swap.md +++ b/content/cpp/concepts/deque/terms/swap/swap.md @@ -14,7 +14,7 @@ CatalogContent: - 'paths/computer-science' --- -The **`.swap()`** [method] (https://www.codecademy.com/resources/docs/cpp/methods) exchanges the contents of one deque with another deque of the same type. After the swap, each deque contains the elements that were originally stored in the other. +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. ## Syntax @@ -22,84 +22,89 @@ The **`.swap()`** [method] (https://www.codecademy.com/resources/docs/cpp/method deque1.swap(deque2); ``` -- `deque1`: The first deque that is going to take the content of deque2. -- `deque2`: The second deque whose contents are exchanged with deque1. +**Parameters:** + +- `deque2`: The deque whose contents will be exchanged with `deque1`. + +**Return value:** + +This method does not return a value. ## Example -The following code demonstrates how to swap two integer variables using `.swap()`: +This example demonstrates swapping the contents of two integer deques using `.swap()`: ```cpp #include -#include +#include using namespace std; int main() { - // Create two deques of integers - std::deque deque1 = {1, 2, 3}; - std::deque deque2 = {10, 20, 30, 40}; + deque deque1 = {1, 2, 3}; + deque deque2 = {10, 20, 30, 40}; - // Display elements before swapping - std::cout << "Before swap:" << std::endl; - std::cout << "Deque 1: "; - for (int num : deque1) std::cout << num << " "; - std::cout << std::endl; + cout << "Before swap:" << endl; + cout << "Deque 1: "; + for (int num : deque1) cout << num << " "; + cout << endl; - std::cout << "Deque 2: "; - for (int num : deque2) std::cout << num << " "; - std::cout << std::endl; + cout << "Deque 2: "; + for (int num : deque2) cout << num << " "; + cout << endl; - // Swap contents deque1.swap(deque2); - // Display elements after swapping - std::cout << "\nAfter swap:" << std::endl; - std::cout << "Deque 1: "; - for (int num : deque1) std::cout << num << " "; - std::cout << std::endl; + cout << "\nAfter swap:" << endl; + cout << "Deque 1: "; + for (int num : deque1) cout << num << " "; + cout << endl; - std::cout << "Deque 2: "; - for (int num : deque2) std::cout << num << " "; - std::cout << std::endl; + cout << "Deque 2: "; + for (int num : deque2) cout << num << " "; + cout << endl; return 0; } ``` + The output of this code is: ```shell Before swap: -Deque 1: 1 2 3 -Deque 2: 10 20 30 40 +Deque 1: 1 2 3 +Deque 2: 10 20 30 40 After swap: -Deque 1: 10 20 30 40 +Deque 1: 10 20 30 40 Deque 2: 1 2 3 ``` +## Codebyte Example -## Codebyte Example - -The following codebyte shows a quick example of using the .swap() method with two deques of strings: - -We can currently support: +This example swaps the contents of two deques containing strings: ```codebyte/cpp #include #include #include +using namespace std; int main() { - std::deque dequeA = {"apple", "banana"}; - std::deque dequeB = {"cherry", "date"}; + deque dequeA = {"apple", "banana"}; + deque dequeB = {"cherry", "date"}; - dequeA.swap(dequeB); + cout << "Before swap:" << endl; + cout << "Deque A:"; + for (const auto& value : dequeA) cout << ' ' << value; + cout << "\nDeque B:"; + for (const auto& value : dequeB) cout << ' ' << value; - std::cout << "Deque A:"; - for (const auto& value : dequeA) std::cout << ' ' << value; + dequeA.swap(dequeB); - std::cout << "\nDeque B:"; - for (const auto& value : dequeB) std::cout << ' ' << value; + cout << "\n\nAfter swap:" << endl; + cout << "Deque A:"; + for (const auto& value : dequeA) cout << ' ' << value; + cout << "\nDeque B:"; + for (const auto& value : dequeB) cout << ' ' << value; } - ``` From 75d1b9087c51a438ce1765e5bf1b39aa29d0c572 Mon Sep 17 00:00:00 2001 From: Mamta Wardhani Date: Fri, 10 Oct 2025 16:13:52 +0530 Subject: [PATCH 3/4] Update swap.md --- content/cpp/concepts/deque/terms/swap/swap.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/cpp/concepts/deque/terms/swap/swap.md b/content/cpp/concepts/deque/terms/swap/swap.md index e14af860295..b94f6c71e5e 100644 --- a/content/cpp/concepts/deque/terms/swap/swap.md +++ b/content/cpp/concepts/deque/terms/swap/swap.md @@ -8,7 +8,7 @@ Tags: - 'Classes' - 'Containers' - 'Deques' - - 'Data Structures" + - 'Data Structures' CatalogContent: - 'learn-c-plus-plus' - 'paths/computer-science' From 9d2bd6d5bb60e29f985d62158205fd4e92f976d8 Mon Sep 17 00:00:00 2001 From: Daksha Deep Date: Tue, 28 Oct 2025 11:15:05 +0530 Subject: [PATCH 4/4] format fix --- content/cpp/concepts/deque/terms/swap/swap.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/content/cpp/concepts/deque/terms/swap/swap.md b/content/cpp/concepts/deque/terms/swap/swap.md index b94f6c71e5e..565ffdb3aba 100644 --- a/content/cpp/concepts/deque/terms/swap/swap.md +++ b/content/cpp/concepts/deque/terms/swap/swap.md @@ -1,15 +1,15 @@ --- -Title: '.swap()' -Description: 'Exchanges the contents of one deque with another of the same type and size.' -Subjects: - - 'Code Foundations' - - 'Computer Science' -Tags: +Title: '.swap()' +Description: 'Exchanges the contents of one deque with another of the same type and size.' +Subjects: + - 'Code Foundations' + - 'Computer Science' +Tags: - 'Classes' - 'Containers' - 'Deques' - 'Data Structures' -CatalogContent: +CatalogContent: - 'learn-c-plus-plus' - 'paths/computer-science' ---