Data Structure & STL part 4




تحدثنا في مقالنا السابق عنData Structure & STL (Part 3)، والآن سنكمل حديثنا عن Data Structure & STL (Part 4) .
1-   Associative containers (الحاويات المترابطة):
تستخدم مفاتيح (keys ) للوصول لعناصرها وليس الموقع (index) .
المفاتيح يمكن ان تكون (int ,char, string….) .
من أنواعها :
1-    Map.
2-    Set.

2-   Associative container Map:
هي شجرة بحث ثنائية تخزن أزواج (Pairs) تعرف بالشكل :
Map<key, value> name;
الوصول للعناصر يتم عبر ال Key (بحث ثنائي على ال Key) .
إضافة العناصر تتم بشكلين :
1-    Map[key]= value;
2-    Map. Insert (make_pair (key, value));

3- Associative container set :
    هي شجرة بحث ثنائية تقوم بفرز عناصرها و حذف العناصر المكررة .
     تعرف بالشكل التالي :
Set<type> name;

    و الجدول التالي يوضح أهم التوابع المستخدمة مع كل من Set & Map :
Function
Work
Insert(item)
إضافة عنصر الى ال Set (Void)
Erase(item)
حذف عنصر من ال Set (Void)
Find(item)
يقوم بإجراء بحث ثنائي على العنصر و يعيد iterator  على العنصر في حال إيجاده و يعيد Set. End () في حال لم يكن موجود 

مثال عن ال Set :


#include<iostream>
#include<set>
using namespace std;
int main ()
{
    int a [7] = {5,2,5,6,3,10,3};
    set <int>s (a, a+7);
s. insert (11);
    set<int>::iterator t=s.begin();
    while(t!=s.end())
    {
        cout<<(*t)<<" ";
        t++;}
        if(s.find(5)==s.end())
        {
            cout<<"NOT FOUND"<<endl;
        }
        else
        {
            cout<<"FOUND"<<endl;
        }
        s.erase(10);

    return 0;
}
تنفيذ البرنامج :


مثال عن ال Map :
#include<iostream>
#include<map>
using namespace std;
int main()
{
    map<string,int> m;
    m["hello"]=1;
    m["world"]=2;
    if(m.find("RBCs")==m.end())
    {
        cout<<"NOT FOUND"<<endl;
    }
    else
    {
        cout<<"FOUND"<<endl;
    }
    map<string,int>::iterator itr = m.begin();
    while(itr!=m.end())
    {
        pair<string,int>p=(*itr);
        cout<<p.first<<" "<<p.second<<endl;
        itr++;
    }
    return 0;
}
تنفيذ البرنامج :


لمعلومات أكثر عن Set من هنا
لمعلومات أكثر عن  Map من هنا
Data Structure & STL part 4 Data Structure & STL      part 4 Reviewed by habeeb on 5:40 م Rating: 5

اخر المعلقين

يتم التشغيل بواسطة Blogger.