我试图考虑一种算法,该算法将根据字符串的前4个字符(例如文件中的每一行)对字符串列表进行排序,而无需使用诸如while
,{{1 }}。输入示例如下:
1231COME1900123
1233COME1902030
2031COME1923919
1231GO 1231203
1233GO 1932911
2031GO 1239391
问题是,我们不知道事先可以有多少条记录。每个4位ID号码可以有多个for
和COME
记录。但是它们按照上面的顺序排序。我想按其4位ID号对文件进行排序。并实现以下目标:
1231COME1900123
1231GO 1231203
1233COME1902030
1233GO 1932911
2031COME1923919
2031GO 1239391
我唯一可以接受的逻辑评论是,我们应该使用递归方式来读取记录,但是排序部分对我来说有点棘手。也可以使用GO
。有任何想法吗?
答案 0 :(得分:1)
假设每个条目的前4个字符始终是数字,则可以执行以下操作:
这样获得的结果将包含您需要的排序顺序,而无需使用循环。