وظيفة Vector Erase() في لغة C++

Wzyft Vector Erase Fy Lght C



يتم استخدام المصفوفة لتخزين بيانات متعددة، ولا يمكن تغيير عدد عناصر المصفوفة في وقت التشغيل. يمكن حل هذه المشكلة باستخدام ناقل يعمل مثل المصفوفة الديناميكية. توجد وظائف مختلفة في فئة المتجه لإضافة عنصر وإزالته من المتجه. يتم استخدام وظيفة المسح () لإزالة عنصر أو أكثر من المتجه في وقت التشغيل مما يؤدي إلى تقليل حجم المتجه. تم شرح استخدامات هذه الوظيفة في هذا البرنامج التعليمي.

بناء الجملة:

تم تقديم نوعين من بناء جملة هذه الوظيفة أدناه.







محو التكرار ( موقف التكرار ) ;

يتم استخدام وظيفة المسح () المذكورة أعلاه لإزالة عنصر واحد من المتجه، وتقوم بإرجاع مكرر، وتشير إلى العنصر الذي يتبعه العنصر الذي تم مسحه الأخير.



محو التكرار ( مكرر start_position، مكرر end_position ) ;

تُستخدم وظيفة المسح () أعلاه لإزالة عناصر متعددة من المتجه بناءً على الموضع المذكور في الوسيطتين الأولى والثانية لهذه الوظيفة.



المتطلبات المسبقة:

قبل التحقق من أمثلة هذا البرنامج التعليمي، عليك التحقق من تثبيت برنامج التحويل البرمجي g++ أم لا في النظام. إذا كنت تستخدم Visual Studio Code، فقم بتثبيت الامتدادات الضرورية لتجميع كود مصدر C++ لإنشاء التعليمات البرمجية القابلة للتنفيذ. هنا، تم استخدام تطبيق Visual Studio Code لتجميع وتنفيذ كود C++. الاستخدامات المختلفة لوظيفة المسح () لإدراج العنصر (العناصر) في المتجه موضحة أدناه.





مثال-1: إزالة عنصر العنصر الأول

قم بإنشاء ملف C++ بالكود التالي لإزالة عنصر من بداية المتجه. تم استخدام متجه لقيم السلسلة في الكود. تمت طباعة قيم المتجه قبل وبعد حذف العنصر الأول من المتجه باستخدام دالة المسح () بمعلمة واحدة.

// تضمين المكتبات الضرورية

#تشمل

#تشمل <ناقل>

استخدام مساحة الاسم الأمراض المنقولة جنسيا ;

// عرض قيم المتجه

فارغ Display_vector ( المتجه < خيط > الفاكهة )

{

// تهيئة العداد

كثافة العمليات عداد = 1 ;

// تكرار وطباعة عناصر المتجه باستخدام الحلقة

ل ( آلي هو = الفاكهة. يبدأ ( ) ; هو ! = الفاكهة. نهاية ( ) ; هو ++ )

{

//تحقق من أن العناصر هي العنصر الأخير أم لا

لو ( عداد ! = الفاكهة. مقاس ( ) )

cout << * هو << '،' ;

آخر

cout << * هو ;

// زيادة العداد بمقدار 1

عداد ++ ;

}

cout << endl ;

}

كثافة العمليات رئيسي ( فارغ ) {

// قم بتعريف ناقل بيانات السلسلة

المتجه < خيط > الفاكهة = { 'البرتقالي' , 'موز' , 'مانجو' , 'جاك فروت' , ليتشي } ;

// اطبع القيم الحالية للمتجه

cout << 'قيم المتجه قبل الإزالة:' << endl ;

Display_vector ( الفاكهة ) ;

// قم بإزالة العنصر الأول من المتجه

الفاكهة. محو ( الفاكهة. يبدأ ( ) ) ;

// اطبع القيم الحالية للمتجه بعد الإزالة

cout << ' قيم المتجه بعد الإزالة: ' << endl ;

Display_vector ( الفاكهة ) ;

يعود 0 ;

}

انتاج:

سيظهر الإخراج التالي بعد تنفيذ الكود أعلاه.



مثال-2: إزالة عناصر متعددة

قم بإنشاء ملف C++ بالكود التالي لإزالة العناصر المتعددة من المتجه باستخدام وظيفة المسح (). تم استخدام ناقل للقيم الصحيحة في الكود. تم استخدام مكررين هنا لتعيين نطاق العناصر التي تمت إزالتها من المتجه. تم استخدام وظيفة المسح () مع معلمتين لإزالة عناصر متعددة من المتجه.

// تضمين المكتبات الضرورية

#تشمل <ناقل>

#تشمل

استخدام مساحة الاسم الأمراض المنقولة جنسيا ;

// عرض المتجه

فارغ Display_vector ( المتجه < كثافة العمليات > أعداد )

{

// اطبع قيم المتجه باستخدام الحلقة

ل ( آلي هو = أعداد. يبدأ ( ) ; هو ! = أعداد. نهاية ( ) ; هو ++ )

cout << * هو << ' ' ;

// أضف سطرًا جديدًا

cout << ' ' ;

}

كثافة العمليات رئيسي ( ) {

// قم بتعريف ناقل البيانات الصحيحة

المتجه < كثافة العمليات > intArray { 678 , 435 , 960 , 231 , 800 , 387 , 634 , 267 , 409 , 294 } ;

// اطبع القيم الحالية للمتجه

cout << 'قيم المتجه قبل الإزالة:' << endl ;

Display_vector ( intArray ) ;

// قم بتعريف مكررين لإزالة نطاق العناصر من المتجه

المتجه < كثافة العمليات > :: مكرر startEle، endEle ;

// اضبط المكرر على الموضع الأول

ابدأ بهم = intArray. يبدأ ( ) ;

// قم بزيادة مكرر البداية بمقدار 2

يتقدم ( ابدأ بهم، 2 ) ;

// اضبط المكرر على الموضع الأخير

endEle = intArray. نهاية ( ) ;

// إنقاص مكرر النهاية بمقدار 3

يتقدم ( نهاية, - 3 ) ;

// إزالة نطاق العناصر

intArray. محو ( startEle، endEle ) ;

// اطبع القيم الحالية للمتجه بعد الإزالة

cout << ' قيم المتجه بعد الإزالة: ' << endl ;

Display_vector ( intArray ) ;

يعود 0 ;

}

انتاج:

سيظهر الإخراج التالي بعد تنفيذ الكود أعلاه. وفقًا لنطاق التكرارات، تمت إزالة العناصر من الموضع الثالث إلى الموضع السابع للمتجه.

مثال-3: إزالة العناصر المحددة

قم بإنشاء ملف C++ بالكود التالي لإزالة العناصر المحددة للمتجه باستخدام وظيفة المسح (). تم الإعلان عن متجه مكون من 7 عناصر صحيحة في الكود. بعد ذلك، تم استخدام حلقة 'for' لتكرار العناصر المتجهة وإزالة تلك العناصر من المتجه التي لا تقبل القسمة على 5.

// تضمين المكتبات الضرورية

#تشمل

#تشمل <ناقل>

استخدام مساحة الاسم الأمراض المنقولة جنسيا ;

كثافة العمليات رئيسي ( )

{

// قم بتعريف ناقل البيانات الصحيحة

المتجه < كثافة العمليات > أعداد = { 78 , أربعة خمسة , 67 , 25 , 98 , 75 , 52 } ;

cout << 'قيم المتجه قبل الإزالة: ' ;

ل ( كثافة العمليات مقدار ثابت & أنا : أعداد ) {

cout << أنا << '' ;

}

cout << endl ;

// قم بإزالة الأرقام من المتجه التي لا تقبل القسمة على 5

ل ( آلي هو = أعداد. يبدأ ( ) ; هو ! = أعداد. نهاية ( ) ; هو ++ )

{

//تحقق مما إذا كان الرقم قابلاً للقسمة على 5 أم لا

لو ( * هو % 5 ! = 0 )

{

// قم بإزالة العنصر بناءً على المكرر

أعداد. محو ( هو -- ) ;

}

}

cout << 'قيم المتجه بعد الإزالة: ' ;

ل ( كثافة العمليات مقدار ثابت & أنا : أعداد ) {

cout << أنا << '' ;


}


cout << endl ;


يعود 0 ;

}

انتاج:

سيظهر الإخراج التالي بعد تنفيذ الكود أعلاه. يظهر الناتج أن المتجه يحتوي على العناصر القابلة للقسمة على 5 فقط، وقد تمت إزالة العناصر الأخرى.

خاتمة:

تم عرض الاستخدامات المختلفة لوظيفة المسح () في هذا البرنامج التعليمي لإزالة العناصر المتجهة. لدى C++ العديد من الوظائف الأخرى لإزالة العنصر من المتجه، ويمكن لهذه الوظائف إزالة العنصر الفردي في المرة الواحدة. ولكن يمكن إزالة كل من العناصر الفردية والمتعددة من أي موضع للمتجه باستخدام وظيفة المسح المتجه ().