إليك ترجمة النص البرمجي من الروسية إلى العربية مع الحفاظ على جميع علامات HTML وعدم تغيير الكود داخل <code> و <pre>: ```html دمج الفرز مع مقارن مخصص ```
Rust
Medium
functions
مهمة «إليك ترجمة النص البرمجي من الروسية إلى العربية مع الحفاظ على جميع علامات HTML وعدم تغيير الكود داخل <code> و <pre>: ```html دمج الفرز مع مقارن مخصص ```»
اكتب دالة `merge_sort`، التي تستقبل مصفوفة من الأعداد الصحيحة وإغلاقًا مقارنًا (comparator closure) يحدد ترتيب الفرز. يجب على الدالة ترتيب المصفوفة تصاعديًا أو تنازليًا اعتمادًا على المُقارن، وإرجاع مصفوفة جديدة مرتبة. المهمة تتمثل في تنفيذ خوارزمية الفرز بالدمج (merge sort) مع إمكانية تمرير قاعدة مقارنة مخصصة من المستخدم. بيانات الإدخال: أولاً عدد صحيح n (1 ≤ n ≤ 1000) — عدد العناصر، ثم n من الأعداد الصحيحة، ثم سلسلة نصية 'asc' للفرز التصاعدي أو 'desc' للفرز التنازلي. بيانات الإخراج: المصفوفة المرتبة مفصولة بمسافات.
تنسيق الإدخال
السطر الأول: عدد صحيح n (1 ≤ n ≤ 1000).
السطر الثاني: n من الأعداد الصحيحة، مفصولة بمسافات.
السطر الثالث: 'asc' أو 'desc'.
تنسيق الإخراج
سلسلة تحتوي على أرقام مرتبة، مفصولة بمسافات.
main.rs