سؤال

لفرز أسماء العناصر، أريد دعم الأرقام بشكل صحيح. أي هذا:

1 Hamlet
2 Ophelia
...
10 Laertes

بدلا من

1 Hamlet
10 Laertes
2 Ophelia
...

هل يعرف أحد لمكافحة المقارنة التي يدعم ذلك بالفعل؟
(أي المسند الذي يمكن تمريره std::sort)

أنا أساسا أنماطا لدعم: الرائدة عدد (على النحو الوارد أعلاه)، وعدد في النهاية، على غرار المستكشف:

Dolly
Dolly (2)
Dolly (3)

(أعتقد أنني أستطيع أن أعمل: قارن بالشخصية، وعلاج القيم الرقمية بشكل مختلف. ومع ذلك، من المحتمل أن يكسر Unicode Collaiton و Whatnot)

هل كانت مفيدة؟

المحلول

وهذا ما يسمى الفرز الأبجدي الرقمي.
تحقق من هذا الرابط: خوارزمية Alphanum.

نصائح أخرى

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top