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

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

تحكم في العملية في C++

الدوال في C++

مجموعات بيانات و 字ائن في C++

هياكل بيانات في C++

مفاهيم كلاس و实体 في C++

المراجع في C++

الوراثة في C++

دليل STL C++

دليل مرجعي لـ C++

استخدام دالة merge() الخاصة بـ C++ List مع أمثلة

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

يدمج دالة merge() الخاصة بـ C++ List القوائم المترتيبة بأي ترتيب. سيتم دمج قائمة y في كتلة القائمة المحددة، مما سيتم حذف جميع العناصر منها.

يمكن أن تحدث حالتان في دالة merge() الخاصة بـ C++ List

إذا لم يتم تمرير معامل مقارنة، فإن القائمةين المترتيبين سيتم دمجهما في قائمة واحدة.

إذا تم تمرير معامل مقارنة كمعامل، فإن القائمة ستدمج بناءً على مقارنة داخلي.

النحو

قائمة list1 و list2. النحو هو:

list1.merge(list2);
list1.merge(list2,compare);

المتغيرات

list2: القائمة التي سيتم دمجها مع list1.

compare:هذا هو معامل مقارنة يعتمد على القيمة الأولى مقارنة بالقيمة الثانية. إذا كانت القيمة الأولى أقل من القيمة الثانية، فإنه يعود بـ true، وإلا يعود بـ false.

القيمة العائدة

لا يعود بأي قيمة.

مثال 1

لننظر في مثال بسيط

#include<iostream>
#include<list>
using namespace std;
int main()
{
   list<int> li={1,2,3,4};
   list<int> li1={5,6,7,8};
   li.merge(li1);
   for(list<int>::iterator itr=li.begin();itr!=li.end();++itr){
       std::cout << *itr << " " << std::endl;  
   }   
   return 0;
}

الإخراج:

1 2 3 4 5 6 7 8

في هذا المثال، سيعمل دالة merge() على دمج قائمة li مع قائمة li1 في قائمة واحدة.

مثال 2

لننظر في مثال بسيط، عند إدخال معامل كاف

#include<iostream>
#include<list>
using namespace std;
bool comparison(int first, int second)
{
    bool a;
    a=first<second;
    return (a);
}
int main()
{
  list<int> li={9,10,11};
  list<int> li1={5,6,7,15};
  li.merge(li1,comparison);
  for(list<int>::iterator itr=li.begin();itr!=li.end();++itr){
      std::cout << *itr << " " << std::endl;
  }  
  return 0;
}

الإخراج:

5 6 7 9 10 11 15

في هذا المثال، يعتمد دالة merge() على مقارنة داخلية لدمج القوائم.

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