English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Deque (double-ended queue) C++
La funzione swap() di C++ Deque scambia il contenuto della coda a due estremità data con la coda a due estremità dello stesso tipo passata come parametro.
Il tipo della code a due estremità deve essere lo stesso.
La dimensione della code a due estremità può essere diversa.
void swap(deque& second);
second:È un altro contenitore di code a due estremità, il cui contenuto verrà scambiato con quello della code data.
Non restituisce alcun valore.
Lasciate che vi mostriamo un esempio semplice
#include <iostream> #include<deque> using namespace std; int main() { deque<string> str={"C è un linguaggio di programmazione"}; deque<string> str1={"java è un linguaggio di programmazione"}; str.swap(str1); deque<string>::iterator itr=str.begin(); deque<string>::iterator itr1=str1.begin(); cout << "Dopo lo scambio, il valore di str è: " << *itr; cout << '\n'; cout << "Dopo lo scambio, il valore di str1 è: " << *itr1; return 0; }
Output:
Dopo lo scambio, il valore di str è: "java è un linguaggio di programmazione" Dopo lo scambio, il valore di str1 è: "C è un linguaggio di programmazione"
In questo esempio, la funzione swap() scambia il contenuto di str e str1. Ora, str contiene "java è un linguaggio di programmazione" e str1 contiene "C è un linguaggio di programmazione".
Lasciate che vi mostriamo un esempio semplice quando due code a due estremità sono di tipi diversi.
#include <iostream> #include<deque> using namespace std; int main() { deque<char> c={'m','a','n','g','o'}; deque<int> s={1,2,3,4,5}; c.swap(s); return 0; }
Output:
errore: nessuna funzione corrispondente per la chiamata a 'std::deque<char>::swap(std::deque<int>&)
In questo esempio, la funzione swap() genererà un errore perché le due code a due estremità hanno tipi diversi.
Lasciate che vi mostriamo un esempio semplice, quando le dimensioni sono diverse.
#include <iostream> #include<deque> using namespace std; int main() { deque<int> first={1,2,3,4}; deque<int> second={10,20,30,40,50}; deque<int>::iterator itr; first.swap(second); cout << "第一双端队列的内容:"; for(itr=first.begin();itr!=first.end();++itr) cout << *itr << " \" "; cout << '\n'; cout << "Contenuto della seconda deque:\"; for(itr=second.begin();itr!=second.end();++itr) cout << *itr << " \" "; return 0; }
Output:
Contenuto della prima deque:10 20 30 40 50 Contenuto della seconda deque:1 2 3 4
In questo esempio, la funzione swap() scambia il contenuto della prima deque con la seconda deque.