فكرة الخوارزمية: الفرز بأرقام واحدة ، عشرة أرقام ... بدورها. كل نقاط البيع لديه عملية تخصيص وعملية جمع. Array [i] [0] يسجل عدد البيانات في الصف الأول.
حزمة الفرز ؛/*** فرز Cardinality* متوسط O (d (n+r)) ، أفضل O (d (n+r)) ، أسوأ O (d (n+r)) ؛ تعقيد الفضاء o (n+r) ؛ مستقر؛ أكثر تعقيدًا * D هو عدد الأرقام ، R هو عدد القوائم المرتبطة بعد التخصيص * Author Zeng * */public Class RadixSort {// pos = 1 يمثل رقمًا واحدًا ، pos = 2 يمثل عشرة أرقام ثابتة عامة intnuminpos (int num ، int pos) {int tmp = 1 ؛ TMP) ٪ 10 ؛} // العثور على الحد الأقصى رقم DPERCUBLUCT STATIC int getMaxweishu (int [] a) {int max = a [0] ! = 0) {d ++ ؛} else break ؛} return d ؛} public static void radixsort (int [] a ، int d) {int [] [] array = new int [10] [A.Length+1] ؛ for (int i = 0 ؛ i <10 ؛ i ++) {array [i] [0] = 0 ؛ pos <= d ++) {for (int i = 0 ؛ i <a.length ؛ i ++) {// عملية التعيين int row = getNuminPos (a [i] ، pos) ؛ int col = ++ array [0] صفيف [صف] [0] ؛ getMaxweishu (a)) ؛ لـ (int i: a) system.out.print (i + "") ؛}}انتبه إلى نتائج التشغيل:
لخص
ما ورد أعلاه هو كل محتوى هذه المقالة حول تنفيذ رمز فرز Cardinality لتنفيذ لغة Java. آمل أن يكون ذلك مفيدًا للجميع. يمكن للأصدقاء المهتمين الاستمرار في الرجوع إلى مواضيع أخرى متعلقة بـ Java على هذا الموقع. إذا كانت هناك أي أوجه قصور ، فيرجى ترك رسالة لإشارةها. شكرا لك يا أصدقائك لدعمكم لهذا الموقع!