English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

تعليمية C++ الأساس

کنترل جریان C++

وظيفة C++

آرایه‌ها و رشته‌های C++

ساختارهای داده C++

کلاس‌ها و اشیاء C++

ال

الوراثة C++

دليل STL C++

دستورالعمل‌های C++

استفاده از توابع swap() لیست C++ و مثال‌ها

List (القائمة) C++

توابع swap() لیست C++ دو لیست از نوع‌های یکسان را تبادل می‌کند، اما اندازه‌های آن‌ها می‌توانند متفاوت باشند.

قواعد دستور زبان

void swap(list& x);

پارامتر

x:این لیستی است که باید با لیست داده شده تبادل شود.

مقدار بازگشتی

هیچ مقدار بازگشتی ندارد.

خطا:

زمانی که نوع‌های دو لیست متفاوت باشند، خطا ایجاد خواهد شد.

مثال 1

دعونا یک مثال ساده‌ای را ببینیم، زمانی که دو لیست از نوع‌ها و اندازه‌های یکسان هستند.

#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 تبادل می‌کند.

مثال 2

دعونا یک مثال ساده‌ای را ببینیم، زمانی که دو لیست از نوع‌های مختلف هستند.

#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&) ليس هناك أي دالة مناسبة للدعوة.

List (القائمة) C++