Tag:java Chapter number sort
private static int compareserialnum (String &NBSP;STR1,STRING&NBSP;STR2) {if (Str1.equals (str2)) {return 0;} if (!str1.contains (".") &&!str2.contains (".")) {Return str1.compareto (str2);} Else{int i1=0,i2=0;char c1= ' * ', c2= ' * ', if (Str1.matches ("[a-z].*")) {C1 = str1.charat (0);} Else{if (Str1.contains (".")) {I1 = integer.parseint (Str1.substring ("0,str1.indexof (")));} Else{i1 = integer.parseint (STR1);}} if (Str2.matches ("[a-z].*")) {C2 = str2.charat (0);} Else{if (Str2.contains (".")) {I2 = integer.parseint (Str2.substring ("0,str2.indexof (")));} Else{i2 = integer.parseint (STR2);}} if (C1!=C2) {return c1-c2;} Else{if (I1!=I2) {return i1-i2;}}} Char[] chararr1 = str1.tochararray (); Char[] chararr2 = str2.tochararray (); int length1 = str1.length (); Int length2 = str2.length ();int len = length1≫length2?length2:length1;for (int i=0;i<len;) {if (Chararr1[i] == chararr2[i]) {i++;} Else if (chararr1[i] == '. ') {return -1;} Else if (chararr2[i] == '. ') {return 1;} Else{return chararr1[i] - chararr2[i];}} Return length1-length2;}
This article from "Shihou" blog, declined reprint!
Chapter number Comparison sort (A.1, b.2.1, C.4)