البرمجة

تنظيف وتصفية المصفوفة في Java: إزالة التكرار بعد الفرز

في هذا الكود البرمجي الذي كتبته، يظهر لي أنك تقوم بفرز مصفوفة (arr) باستخدام خوارزمية الفرز البسيطة (Selection Sort). ومن ثم، يتم طباعة عناصر المصفوفة المفرزة.

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

اليك نسخة معدلة من الكود:

java
int[] arr = {5, 10, 44, 2, 44, 44, 5, 10, 44, 2, 44, 44}; int startScan; int index; int minindex; int minValue; for (startScan = 0; startScan < (arr.length - 1); startScan++) { minindex = startScan; minValue = arr[startScan]; for (index = startScan + 1; index < arr.length; index++) { if (arr[index] < minValue) { minValue = arr[index]; minindex = index; } } arr[minindex] = arr[startScan]; arr[startScan] = minValue; } // قم بإزالة الأرقام المتكررة int[] uniqueArr = new int[arr.length]; int uniqueCount = 0; for (int i = 0; i < arr.length - 1; i++) { if (arr[i] != arr[i + 1]) { uniqueArr[uniqueCount++] = arr[i]; } } // آخر عنصر في المصفوفة لن يتم فحصه في الحلقة السابقة، لذلك يجب إضافته يدويًا uniqueArr[uniqueCount++] = arr[arr.length - 1]; // طباعة المصفوفة النهائية بدون تكرار for (int x = 0; x < uniqueCount; x++) { System.out.println(uniqueArr[x]); }

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

المزيد من المعلومات

بالطبع، دعنا نوسع قليلاً على المعلومات حول الكود والتعديلات التي تم إجراؤها.

الجزء الأول من الكود يقوم بتنفيذ خوارزمية الفرز البسيطة (Selection Sort)، وهي واحدة من الطرق البسيطة لترتيب العناصر في مصفوفة. تعتمد الخوارزمية على تحديد أصغر عنصر في كل مرة وتبديله مع العنصر الحالي في الفحص.

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

هذا النهج يضمن أن النتيجة النهائية تكون قائمة بالأرقام دون تكرار. الكود يستند إلى الافتراض الذي يقول إن المصفوفة المدخلة مرتبة بالفعل. إذا لم تكن مرتبة، قد تحتاج إلى إجراء بعض التعديلات الإضافية.

مقالات ذات صلة

زر الذهاب إلى الأعلى
إغلاق

أنت تستخدم إضافة Adblock

يرجى تعطيل مانع الإعلانات حيث أن موقعنا غير مزعج ولا بأس من عرض الأعلانات لك فهي تعتبر كمصدر دخل لنا و دعم مقدم منك لنا لنستمر في تقديم المحتوى المناسب و المفيد لك فلا تبخل بدعمنا عزيزي الزائر