عندما نتحدث عن عكس مصفوفة باستخدام هيكل البيانات المعروف بالمكدس (Stack) في لغة البرمجة جافا، يأتي التحدّي في تحويل السلسلة من العناصر إلى ترتيبها العكسي بطريقة فعّالة وصحيحة. لنلبي هذا الطلب، يمكننا إنشاء طريقة (Method) تأخذ مصفوفة من الأرقام الصحيحة كمدخل وتُرجع المصفوفة بترتيب عكسي.
لنبدأ أولاً بفهم مبدأ العمل في هيكل البيانات Stack. المكدس يستخدم مفهوم “Last In, First Out” (LIFO)، حيث يتم استخدام آخر عنصر تم إدخاله أولاً. لتحقيق الهدف، يمكننا إضافة جميع العناصر إلى المكدس ثم استخراجها في ترتيبها العكسي.
الشيفرة التالية توضح كيف يمكن تحقيق ذلك في جافا:
javaimport 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));
}
}
في هذا الكود، تم إنشاء مكدس وتم تحميله بالعناصر من المصفوفة الأصلية، ثم تم استخدام المكدس لاستخراج العناصر بترتيبها العكسي وتخزينها مرة أخرى في المصفوفة الأصلية. يمكنك نسخ ولصق هذا الكود وتجربته في بيئة تطوير جافا الخاصة بك.
المزيد من المعلومات
عند النظر إلى الشيفرة المصدرية، يمكننا فهم المزيد من التفاصيل حول كيفية تنفيذ العكس في المصفوفة باستخدام هيكل البيانات المكدس في لغة البرمجة جافا.
-
استيراد مكتبة Stack:
في بداية الشيفرة، يتم استيراد فئةStack
من مكتبة جافا (java.util.Stack
)، وهي الفئة التي تُمثل هيكل البيانات المكدس.javaimport java.util.Stack;
-
إنشاء طريقة
reverseArray
:
يتم إنشاء طريقة باسمreverseArray
، والتي تأخذ مصفوفة من الأرقام الصحيحة كمدخل. داخل الطريقة، يتم إنشاء مكدس جديد (Stack
) لتخزين العناصر.stack javapublic static int[] reverseArray(int[] inputArray) { Stack
stack = new Stack<>(); -
إضافة العناصر إلى المكدس:
يتم استخدام حلقةfor
لتكرار عناصر المصفوفة الأصلية وإضافتها إلى المكدس باستخدامstack.push(num)
.javafor (int num : inputArray) { stack.push(num); }
-
استخراج العناصر بترتيبها العكسي:
يتم استخدام حلقةfor
أخرى لاستخراج العناصر من المكدس (stack.pop()
) وتخزينها في المصفوفة الأصلية (inputArray[i] = stack.pop()
).javafor (int i = 0; i < inputArray.length; i++) { inputArray[i] = stack.pop(); }
-
إرجاع المصفوفة المعكوسة:
في النهاية، تُرجع الطريقة المصفوفة المعكوسة.javareturn inputArray;
-
دالة
main
للاختبار:
توجد دالةmain
التي تعتبر نقطة البداية لتنفيذ البرنامج. في هذا المثال، تم إنشاء مصفوفة أصلية، وتم استخدام الطريقةreverseArray
لعكس المصفوفة، ثم تم طباعة المصفوفتين للتحقق.javapublic 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)); }
هذا الكود يوفر نظرة شاملة حول كيف يمكن استخدام هيكل البيانات المكدس لعكس المصفوفة في لغة البرمجة جافا، ويوفر مثالًا عمليًا على كيفية تنفيذ الفكرة المطلوبة.