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

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

C++ Flow Control

المعلمات الخاصة بـ C++

C++ Arrays & Strings

C++ Data Structures

C++ Classes & Objects

المراجع الخاصة بـ C++

الوراثة الخاصة بـ C++

تعليمات STL الخاصة بـ C++

C++ Reference Manual

C++ Deque swap() usage and example

Deque (القائمة المزدوجة الجانبية) الخاصة بـ C++

C ++ Deque swap() function swaps the content of the given deque with another deque of the same type passed as an argument.

الشروط:}

  • يجب أن تكون أنواع الأولية المزدوجة متطابقة.

  • حجم الأولية المزدوجة يمكن أن يكون غير متساوٍ.

النحو

void swap(deque& second);

الم参数

second:هذا هو مآل الأولية المزدوجة المحتوية، والذي سيتبادل محتوياته مع الأولية المزدوجة المقدمة.

القيمة الراجعة

لا يرجع أي قيمة.

مثال 1

لن نرى مثالاً بسيطاً

#include <iostream>
#include<deque>
using namespace std;
int main()
{
    deque<string> str={"C is a programming language"};
    deque<string> str1={"java is a programming language"};
    
    str.swap(str1);
    iterator itr=str.begin();
     iterator itr1=str1.begin();
    cout<<"بعد التبادل، قيمة str هي: "<<*itr;
    cout << '\n';
     cout<<"بعد التبادل، قيمة str1 هي: "<<*itr1;
    return 0;
 }

الإخراج:

بعد التبادل، قيمة str هي: "java is a programming language"
بعد التبادل، قيمة str1 هي: "C is a programming language"

في هذا المثال، سيتبادل swap() محتويات str و str1. الآن، يحتوي str على "java is a programming language" و يحتوي str1 على "C is a programming language".

مثال 2

لن نرى مثالاً بسيطاً عندما تكون الأولية المزدوجة من أنواع مختلفة.

#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;
   }

الإخراج:

خطأ: لا توجد دالة تطابق طلب "std::deque<char>::swap(std::deque<int>&)"

في هذا المثال، سيزيد swap() خطأ لأن أنواع الأولية المزدوجة مختلفة.

مثال 3

لن نرى مثالاً بسيطاً، عندما تكون الأحجام مختلفة.

#include <iostream>
#include<deque>
using namespace std;
int main()
{
    deque<int> first={1,2,3,4};
    deque<int> second={10,20,30,40,50};
    iterator itr;
    first.swap(second);
    cout<<"الأولية المزدوجة المحتوية:";
    for(itr=first.begin();itr!=first.end();++itr)
    cout << *itr << "  ";
    cout << '\n';
    cout << "محتويات القائمة المزدوجة الجانبية الثانية:";
     for(itr=second.begin();itr!=second.end();++itr)
    cout << *itr << "  ";
    return 0;
    }

الإخراج:

محتويات القائمة المزدوجة الجانبية الأولى:10 20 30 40 50 
محتويات القائمة المزدوجة الجانبية الثانية:1 2 3 4

في هذا المثال، ستعتمد دالة swap() على تبادل محتويات أول قائمة مزدوجة الجانبية إلى ثاني قائمة مزدوجة الجانبية.

Deque (القائمة المزدوجة الجانبية) الخاصة بـ C++