一个数字+字母的排序小巧思

发布时间:2025-02-02 07:33

按照字母顺序排列:对于非专业的个人书籍,可以按照作者姓名首字母排序。 #生活技巧# #居家生活技巧# #收纳整理建议# #书架分类法#

问题

项目中有这样一种场景,服装在每个月都有不同的波段进行标识:即1月有1A、1B、1C、1D,2月有2A、2B、2C、2D依次类推,现在需要按照月份排序并且按照波段排序

常规思路

func TestSort(t *testing.T) { // 字符串 monthSlice := []string{"8A", "8B", "8C", "8D", "10A", "10B", "10C", "10D", "9A", "9B", "6A", "6B", "6C", "6D", "7A", "7B", "7C", "7D", "12A", "12B", "12C", "12D", "1A", "1B", "1C", "1D", "2A", "2B", "2C", "2D", "4A", "4B", "4C", "4D", "3A", "3B", "3C", "3D", "5A", "5B", "5C", "5D", "9C", "9D", "11A", "11B", "11C", "11D"} // 排序 sort.Strings(monthSlice) t.Log(monthSlice) } 12345678

结果

[10A 10B 10C 10D 11A 11B 11C 11D 12A 12B 12C 12D 1A 1B 1C 1D 2A 2B 2C 2D 3A 3B 3C 3D 4A 4B 4C 4D 5A 5B 5C 5D 6A 6B 6C 6D 7A 7B 7C 7D 8A 8B 8C 8D 9A 9B 9C 9D] 1

换一种思路

提示:这里将月份波段分为两部分,然后分别进行排序,最后再将结果合并

func TestSort(t *testing.T) { // 字符串 monthSlice := []string{"8A", "8B", "8C", "8D", "10A", "10B", "10C", "10D", "9A", "9B", "6A", "6B", "6C", "6D", "7A", "7B", "7C", "7D", "12A", "12B", "12C", "12D", "1A", "1B", "1C", "1D", "2A", "2B", "2C", "2D", "4A", "4B", "4C", "4D", "3A", "3B", "3C", "3D", "5A", "5B", "5C", "5D", "9C", "9D", "11A", "11B", "11C", "11D"} // 排序 minMonthSlice := make([]string, 0, 64) // 小月份 maxMonthSlice := make([]string, 0, 16) // 大月份 resultMonthSlice := make([]string, 0, 128) for _, s := range monthSlice { if len(s) == 3 { maxMonthSlice = append(maxMonthSlice, s) } else { minMonthSlice = append(minMonthSlice, s) } } // 对两个部分分别排序 sort.Strings(minMonthSlice) sort.Strings(maxMonthSlice) // 组合起来 minMonthSlice = append(minMonthSlice, maxMonthSlice...) resultMonthSlice = minMonthSlice t.Log(resultMonthSlice) }

123456789101112131415161718192021222324

结果

[1A 1B 1C 1D 2A 2B 2C 2D 3A 3B 3C 3D 4A 4B 4C 4D 5A 5B 5C 5D 6A 6B 6C 6D 7A 7B 7C 7D 8A 8B 8C 8D 9A 9B 9C 9D 10A 10B 10C 10D 11A 11B 11C 11D 12A 12B 12C 12D] 1

网址:一个数字+字母的排序小巧思 https://www.yuejiaxmz.com/news/view/751633

相关内容

Excel数字排序技巧
数字的小妙招?提升数字技能的小技巧
帮助父母享受数字生活 几个iPad使用小技巧
日常打字如何更省心?打字小技巧教给你
数字化时代是什么意思(数字化时代的特征)
,小明是学校网络中心的成员,为了让学生增强安全意识,他写了 一个密码安全性验证程序。 任务:提示用户输入10个字符的字符串。要求10个字符中,最 少有一个空格、一个数字、一个字母。 ·如果用户输入的字
1个简单的小技巧,让你的数字更有说服力
【AB+B=BA,ABA+DCA=FECD,BDCE+BAAE=FBEDG每个字母代表什么数字?】
英语对话排序题技巧
数字化汗字中仲字如化数字化

随便看看