What is meaning of strict weak ordering in layman's term? I gone through many pages using Google, but not understand exact meaning of Strict-weak Ordering term. 
I have this requirement while sorting strings.
 A: This notion, which sounds somewhat like an oxymoron, is not very commonly used in mathematics, but it is in programming. The "strict" just means it is the irreflexive form "$<$" of the comparison rather than the reflexive "$\leq$". The "weak" means that the absence of both $a<b$ and $b<a$ do not imply that $a=b$. However as explained here, the relation that neither $a<b$ nor $b<a$ holds is required to be an equivalence relation. The strict weak ordering then induces a (strict) total ordering on the equivalence classes for this equivalence relation.
This notion is typically used for relations that are in basically total orderings, but defined using only partial information about the identity of items. For instance if $a<b$ between persons means that $a$ has a name that (strictly) precedes the name of $b$ alphabetically, then this defines a strict weak order, since different persons may have identical names; the relation of having identical names is an equivalence relation.
One can easily show that for a strict weak ordering "$<$", the relation $a\not<b$ is (reflexive and) transitive, so it is a pre-order, and the associated equivalence relation is the same as the one associated above to the strict weak ordering. In fact "$a\not<b$" is a total pre-order which induces the same total ordering (or maybe it is better to say the opposite ordering, in view of the negation) on its equivalence classes as the strict weak ordering does. I think I just explained that the notions of strict weak ordering and total pre-order are equivalent. The WP article also does a reasonable job explaining this.
