>> الصفحة الرئيسية >> اساسيات لغة سي++ >> البحث الخطي في المصفوفات

الأقسام الرئيسية

 التنصيب والاعداد التنصيب والاعداد
 دروس متقدمة دروس متقدمة
 سلسلة دروس للمبتدئين سلسلة دروس للمبتدئين
 اساسيات لغة سي++ اساسيات لغة سي++
 مقالات ZetCode مقالات ZetCode
 

جديد الدروس

 الوحدة QtUiTools (واجهة المستخدم ديناميكية التوليد)
التاريخ 04/07/2009 الوحدة QtUiTools (واجهة المستخدم ديناميكية التوليد)
 Qt and Phonon
التاريخ 04/07/2009 Qt and Phonon
 تتمة الرسائل ومربعات الحوار في qt
التاريخ 04/07/2009 تتمة الرسائل ومربعات الحوار في qt
 مدخل الى xml في Qt
التاريخ 04/07/2009 مدخل الى xml في Qt
 الإدخال والإخراج لبيانات الفئات
التاريخ 04/07/2009 الإدخال والإخراج لبيانات الفئات
 

البحث الخطي في المصفوفات

بسم الله الرحمن الرحيم

السلام عليكم ورحمة الله وبركاته


البحث الخطي:
تعتمد طريقة البحث الخطي على مقارنة كل عنصر من عناصر المصفوفة مع القيمة التي يراد البحث عنها.
تعمل طريقة البحث الخطي بشكل جيد مع المصفوفات الصغيرة الحجم او المصفوفات الغير مفرزة.ولكن مع المصفوفات الكبيرة
لا تعمل بشكل جيد.


طيب نأخذ مثاال

  1. //Linear Search of an Array
  2.  
  3. #include <iostream>
  4.  
  5. using namespace std;
  6. int linear (int[],int,int);
  7.  
  8. int main()
  9. {
  10. const int arraySize=100;
  11. int a[arraySize], searchkey, elemnt;
  12.  
  13.  
  14. for (int i=0; i<arraySize;i++)
  15. a[i]= 2 * i;
  16.  
  17. cout<<"Enter Intergr search key:"<<endl;
  18. cin>>searchkey;
  19. elemnt=linear(a, searchkey,arraySize);
  20. if(elemnt != -1)
  21. cout<<"Found value in elemnt"<<endl<<elemnt<<endl;
  22. else
  23. cout<<"Value not found"<<endl;
  24. system("pause");
  25. return 0;
  26. }
  27.  
  28. int linear(int array[],int key,int size)
  29. {
  30. for (int n=0;n <size;n++)
  31. if (array[n]==key)
  32. return n;
  33. return -1;
  34. }



هذا مثال لعملية بحث داخل مصفوفة
  1. int linear (int[],int,int);


الجزء الرأسي لتابع لو نلاحظ هنا طريقة تعريفة بأنة سوف يستقبل مصفوفة ...


  1. int a[arraySize], searchkey, elemnt;

searchkey يستخدم لحفظ الرقم الذي يراد البحث عنة

elemnt وهو الذي يقووم بأستدعاء الدالة البحث وارجاع ترتيب الرقم المراد البحث عنة داخل المصفوفة.


  1. for (int i=0; i<arraySize;i++)
  2. a[i]= 2 * i;

هنا يتم اعطاء قيم لعناصر المصفوفة



  1. elemnt=linear(a, searchkey,arraySize);

هنا تم استدعاء الدالة وتمرير المصفوفة a
وحجمها arraySize
والرقم المراد البحث عنة searchkey


والان نذهب الى دالة linear
  1.  
  2. int linear(int array[],int key,int size)
  3. {
  4. for (int n=0;n <size;n++)
  5. if (array[n]==key)
  6. return n;
  7. return -1;
  8. }


array ==المصفوفة a
key == searchkey
size==arraySize

وطريقة البحث تتم باستخدام ال for

اتوقع الباقي واضح :-)

إسم الكاتب تاريخ الإضافة التقييم / المقيمين زيارات الدرس
المستشار 20/09/2008 2 / 2 1970

الأكثر زيارة

 دليل تنصيب اطار عمل Qt ، حزمة MinGW ، بيئة التطوير QDevelop
الزيارات 4284 دليل تنصيب اطار عمل Qt ، حزمة MinGW ، بيئة التطوير QDevelop
 اعداد وتنصيب Qt
الزيارات 4072 اعداد وتنصيب Qt
 التطوير السريع للتطبيقات Rapid Application Development
الزيارات 3763 التطوير السريع للتطبيقات Rapid Application Development
 دليل تنصيب اطار عمل Qt ، حزمة MinGW ، بيئة التطوير Eclipse
الزيارات 3747 دليل تنصيب اطار عمل Qt ، حزمة MinGW ، بيئة التطوير Eclipse
 C++ In a Nutshell
الزيارات 3154 C++ In a Nutshell
 

الأكثر تصويتـا

 اعداد وتنصيب Qt
نتيجة التصويت 41 من 6 شخص اعداد وتنصيب Qt
 الدرس الاول : كتابة اول برنامج
نتيجة التصويت 41 من 6 شخص الدرس الاول : كتابة اول برنامج
 تخطيط البرامج Program Layout
نتيجة التصويت 40 من 6 شخص تخطيط البرامج Program Layout
 دوال المستوى العالي لبرمجة تطبيقات متعددة المسالك
نتيجة التصويت 30 من 3 شخص دوال المستوى العالي لبرمجة تطبيقات متعددة المسالك
 التطوير السريع للتطبيقات Rapid Application Development
نتيجة التصويت 30 من 5 شخص التطوير السريع للتطبيقات Rapid Application Development
 
 

سكربت story-script v1 برمجة bwady.com تطوير SudaNix