UltKit

ترتيب الأسطر

رتّب أي قائمة: أبجديًا في الاتجاهين، أو بالترتيب الطبيعي، أو حسب أول رقم في كل سطر، أو حسب الطول، أو بخلط عشوائي. يعتمد الترتيب على قواعد اللغة في متصفحك، ويجري بالكامل على جهازك.

الترتيب

0 حرفًا · 0 كلمة · 0 سطرًا

0 حرفًا · 0 كلمة · 0 سطرًا

يعمل بالكامل داخل علامة تبويب المتصفح هذه. لا يُرفع نصك ولا يُخزَّن أبدًا.

ماذا تفعل

ترتيب الأسطر ترتّب الأسطر أبجديًا وفق قواعد لغة متصفحك، أو بترتيب طبيعي (file2 قبل file10)، أو حسب أول رقم في كل سطر، أو حسب الطول، أو بخلط عشوائي.

قبل
item 10
item 9
Item 1
بعد
Item 1
item 9
item 10

الترتيب الأبجدي ليس هو ترتيب رموز الأحرف

أبسط طريقة يفرز بها الحاسوب النص هي الفرز حسب رمز الحرف، وهذا يعطي نتائج غريبة: فكل الأحرف الكبيرة (الرموز من 65 إلى 90 في ASCII) تسبق كل الأحرف الصغيرة (من 97 إلى 122)، فتأتي "Zebra" قبل "apple"، وتقع الأحرف المشكّلة بعد z. أما الناس فيتوقعون الترتيب القاموسي، وهو ما يسميه اللغويون المقارنة الترتيبية (collation). تستخدم هذه الأداة Intl.Collator، وهو تطبيق المتصفح لخوارزمية Unicode Collation Algorithm، لذلك تُفرز "apple" و"Banana" و"éclair" بالطريقة التي يتوقعها القارئ.

تعتمد المقارنة الترتيبية أيضًا على اللغة. فالقواميس الألمانية تصنّف ä مع a، بينما تضع السويدية å وä وö بعد z، في آخر الأبجدية. تستخدم الأداة اللغة الافتراضية في متصفحك، لذلك تتبع القائمة المفروزة على نظام سويدي القواعد السويدية. وعند تفعيل تجاهل حالة الأحرف، تُعدّ الأحرف التي تختلف في الحالة أو التشكيل فقط متساوية، ويُحسم ترتيبها بالفرق التالي.

الترتيب الطبيعي والرقمي وحسب الطول

يقارن الترتيب الأبجدي الأرقام رقمًا برقم، لذلك يأتي "file10" قبل "file2" لأن 1 أصغر من 2. أما الترتيب الطبيعي فيقرأ سلاسل الأرقام كأعداد كاملة ويعطي file1 ثم file2 ثم file10، كما تعرض مديرات الملفات مثل Windows Explorer وFinder في macOS الأسماء. استخدمه لعناوين الفصول وقوائم الإصدارات وأرقام الفواتير وأسماء الصور مثل IMG_9 وIMG_10.

يبحث الترتيب الرقمي عن أول رقم في كل سطر، بما في ذلك علامة الناقص والكسور العشرية، ويفرز حسب قيمته، وهو مناسب لقوائم الأسعار والنتائج والأسطر مثل "12 apples". تذهب الأسطر التي لا تحتوي على رقم إلى النهاية. أما الترتيب حسب الطول فيفرز حسب عدد الأحرف الظاهرة، من الأقصر إلى الأطول، وعند التساوي يُرتَّب أبجديًا؛ وهو مفيد للعثور على أقصر أسماء النطاقات أو اكتشاف الإدخالات المقتطعة.

كيف يعمل الخلط العشوائي

يستخدم الخلط خوارزمية Fisher–Yates (نشرها رونالد فيشر وفرانك ييتس عام 1938 وكيّفها ريتشارد دورستنفيلد للحاسوب عام 1964)، وهي تمر على القائمة من النهاية وتبدّل كل سطر مع سطر يُختار عشوائيًا عنده أو قبله. ومع مصدر عشوائي جيد يكون كل ترتيب متساوي الاحتمال. تأتي الأرقام العشوائية من mulberry32، وهو مولّد أرقام شبه عشوائية صغير يعتمد على بذرة، لذلك يبقى الخلط ثابتًا حتى تطلب خلطًا جديدًا. ولأن حالته 32 بتًا، فهو لا ينتج أكثر من نحو 4.3 مليار خلط مختلف، وهو أقل من 6.2 مليار ترتيب لـ 13 سطرًا فقط. وهذا مناسب لأسئلة المسابقات وقوائم التشغيل واختيار ترتيب العروض، لكنه غير مناسب للسحوبات واليانصيب أو أي أمر يتعلق بالمال أو الأمان.

لتنظيف القائمة قبل فرزها، مرّرها أولًا على إزالة الأسطر المكررة.

الأسئلة الشائعة

لماذا يأتي file10 قبل file2 في الترتيب؟
الترتيب الأبجدي العادي يقارن حرفًا بحرف، و1 يأتي قبل 2. اختر الترتيب الطبيعي الذي يعامل كل سلسلة أرقام كعدد، لتحصل على file2 قبل file10.
هل يضع الترتيب الكلمات ذات الأحرف الكبيرة أولًا؟
لا. يعتمد الفرز على مقارنة ترتيبية تراعي اللغة، لذلك تقع apple وApple متجاورتين. فقط الفرز البسيط حسب رمز الحرف يضع كل الأحرف الكبيرة قبل الصغيرة.
هل الخلط العشوائي عشوائي حقًا؟
تستخدم خلط Fisher–Yates غير المنحاز يعمل بمولّد سريع شبه عشوائي يعتمد على بذرة. هذا عادل بما يكفي للاستخدام اليومي، لكنه غير مناسب للسحوبات أو اليانصيب أو الأمان.
أين توضع الأسطر التي لا تحتوي على رقم في الترتيب الرقمي؟
إلى نهاية القائمة، مرتبةً أبجديًا فيما بينها. أما الأسطر التي تحتوي على رقم فتُرتَّب حسب قيمة أول رقم يوجد في السطر.
هل يمكنني ترتيب الأسطر أبجديًا بترتيب عكسي؟
نعم، اختر Z→A. يستخدم المقارنة نفسها المراعية للغة كما في A→Z لكن معكوسة، فتبقى الكلمات المشكّلة والتي تبدأ بحرف كبير في مواضع معقولة.