البرمجة

عكس المصفوفة باستخدام مكدس في جافا

عندما نتحدث عن عكس مصفوفة باستخدام هيكل البيانات المعروف بالمكدس (Stack) في لغة البرمجة جافا، يأتي التحدّي في تحويل السلسلة من العناصر إلى ترتيبها العكسي بطريقة فعّالة وصحيحة. لنلبي هذا الطلب، يمكننا إنشاء طريقة (Method) تأخذ مصفوفة من الأرقام الصحيحة كمدخل وتُرجع المصفوفة بترتيب عكسي.

لنبدأ أولاً بفهم مبدأ العمل في هيكل البيانات Stack. المكدس يستخدم مفهوم “Last In, First Out” (LIFO)، حيث يتم استخدام آخر عنصر تم إدخاله أولاً. لتحقيق الهدف، يمكننا إضافة جميع العناصر إلى المكدس ثم استخراجها في ترتيبها العكسي.

الشيفرة التالية توضح كيف يمكن تحقيق ذلك في جافا:

java
import java.util.Stack; public class ReverseArrayUsingStack { public static int[] reverseArray(int[] inputArray) { // إنشاء مكدس Stack stack = new Stack<>(); // إضافة العناصر إلى المكدس for (int num : inputArray) { stack.push(num); } // استخراج العناصر بترتيبها العكسي for (int i = 0; i < inputArray.length; i++) { inputArray[i] = stack.pop(); } // إرجاع المصفوفة المعكوسة return inputArray; } public static void main(String[] args) { // مثال على استخدام الطريقة int[] originalArray = {1, 2, 3, 4, 5}; int[] reversedArray = reverseArray(originalArray); // طباعة المصفوفتين للتحقق System.out.println("Original Array: " + java.util.Arrays.toString(originalArray)); System.out.println("Reversed Array: " + java.util.Arrays.toString(reversedArray)); } }

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

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

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

  1. استيراد مكتبة Stack:
    في بداية الشيفرة، يتم استيراد فئة Stack من مكتبة جافا (java.util.Stack)، وهي الفئة التي تُمثل هيكل البيانات المكدس.

    java
    import java.util.Stack;
  2. إنشاء طريقة reverseArray:
    يتم إنشاء طريقة باسم reverseArray، والتي تأخذ مصفوفة من الأرقام الصحيحة كمدخل. داخل الطريقة، يتم إنشاء مكدس جديد (Stack stack) لتخزين العناصر.

    java
    public static int[] reverseArray(int[] inputArray) { Stack stack = new Stack<>();
  3. إضافة العناصر إلى المكدس:
    يتم استخدام حلقة for لتكرار عناصر المصفوفة الأصلية وإضافتها إلى المكدس باستخدام stack.push(num).

    java
    for (int num : inputArray) { stack.push(num); }
  4. استخراج العناصر بترتيبها العكسي:
    يتم استخدام حلقة for أخرى لاستخراج العناصر من المكدس (stack.pop()) وتخزينها في المصفوفة الأصلية (inputArray[i] = stack.pop()).

    java
    for (int i = 0; i < inputArray.length; i++) { inputArray[i] = stack.pop(); }
  5. إرجاع المصفوفة المعكوسة:
    في النهاية، تُرجع الطريقة المصفوفة المعكوسة.

    java
    return inputArray;
  6. دالة main للاختبار:
    توجد دالة main التي تعتبر نقطة البداية لتنفيذ البرنامج. في هذا المثال، تم إنشاء مصفوفة أصلية، وتم استخدام الطريقة reverseArray لعكس المصفوفة، ثم تم طباعة المصفوفتين للتحقق.

    java
    public static void main(String[] args) { int[] originalArray = {1, 2, 3, 4, 5}; int[] reversedArray = reverseArray(originalArray); System.out.println("Original Array: " + java.util.Arrays.toString(originalArray)); System.out.println("Reversed Array: " + java.util.Arrays.toString(reversedArray)); }

هذا الكود يوفر نظرة شاملة حول كيف يمكن استخدام هيكل البيانات المكدس لعكس المصفوفة في لغة البرمجة جافا، ويوفر مثالًا عمليًا على كيفية تنفيذ الفكرة المطلوبة.

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