JavaScript字符串数组排序
方法:冒泡排序,对比每两个字符串的每一个字符。具体的可见代码中的注释。 思考路线:需要区分数字字符和非数字字符,故可知数字字符为此条件中的”特殊字符“,即特殊情况,需单独处理。数字字符的ASCII值为48-57。每次比较两个字符串(如字符串j和字符串j+1)中的每一个字符。 情况如下: 1、j中为数字,j+1不为数字。 此时需要交换两字符串位置 2、j中为数字,j+1为数字。 此时需要比较: j>j+1时交换, j<j+1时跳出, j==j+1时需要比较j的字符串长度是否大于j+1的字符串长度,当大于时交换,反之跳出 3、j中不为数字,j+1为数字。此时不需要交换,直接跳出比较即可 4、j中不为数字,j+1不为数字。 [toggle hide=“yes” title=“代码修正日志” color=“red”] 2015-09-23 优化代码编写,修正类似“1717A”被错误排在“1717”之前的错误,增添若字符串为空,则将其排在最前面。 2015-09-24 添加”思考路线“ [/toggle] [toggle hide=“yes” title=“代码” color=""] 无奈了, 排版几次都没弄好,缩进不知为何都消失了,来http://blog.csdn.net/u011091122/article/details/48677933看有缩进版的吧。
