English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
توابع swap() لیست C++ دو لیست از نوعهای یکسان را تبادل میکند، اما اندازههای آنها میتوانند متفاوت باشند.
void swap(list& x);
x:این لیستی است که باید با لیست داده شده تبادل شود.
هیچ مقدار بازگشتی ندارد.
زمانی که نوعهای دو لیست متفاوت باشند، خطا ایجاد خواهد شد.
دعونا یک مثال سادهای را ببینیم، زمانی که دو لیست از نوعها و اندازههای یکسان هستند.
#include <iostream> #include<list> using namespace std; int main() { std::list<char> li={'+','-','*','@'}; list<char> li1={'j','a','v','a'}; std::cout << "در ابتدا، محتوای لیست li به صورت زیر بود: :"; for(list<char> :: iterator itr=li.begin();itr!=li.end();++itr) cout<<*itr; std::cout << '\n'<<"در ابتدا، محتوای لیست li1 به صورت زیر بود: :"; for(list<char> :: iterator itr=li1.begin();itr!=li1.end();++itr) cout<<*itr; li.swap(li1); cout << '\n'; cout<<"بعد از تبادل، محتوای لیست li به صورت زیر خواهد بود: :"; for(list<char> :: iterator itr=li.begin();itr!=li.end();++itr) cout<<*itr; cout << '\n'; cout<<"بعد از تبادل، محتوای لیست li1 به صورت زیر خواهد بود: :"; for(list<char> :: iterator itr=li1.begin();itr!=li1.end();++itr) cout<<*itr; عدد 0; }
الإخراج:
در ابتدا، محتوای لیست li به صورت زیر بود: +-*@ در ابتدا، محتوای لیست li1 به صورت زیر بود: java بعد از تبادل، محتوای لیست li به صورت زیر خواهد بود: java بعد از تبادل، محتوای لیست li1 به صورت زیر خواهد بود: +-*@
در این مثال، تابع swap() محتوای لیست li را با لیست li1 تبادل میکند.
دعونا یک مثال سادهای را ببینیم، زمانی که دو لیست از نوعهای مختلف هستند.
#include <iostream> #include<list> using namespace std; int main() { std::list<char> li={'P','H','P'}; list<int> li1={1,2,3}; li.swap(li1); cout << '\n'; عدد 0; }
الإخراج:
خطأ: لا توجد دالة مناسبة للدعوة list::swap(list&).
في هذا المثال، كلا القائمتين من نوعين مختلفين. لذلك، سيؤدي دالة swap() إلى خطأ، وهي: list :: swap (list&) ليس هناك أي دالة مناسبة للدعوة.