使用插入排序将5个长度为2的字符串按字典序排序
插入排序实现2位大写字符串字典序排序
- 核心逻辑:插入排序通过逐个将未排序元素插入已排序序列的合适位置完成排序,Python默认的字符串比较运算符原生支持大写英文字母的字典序判断,无需额外处理。
- 输入处理:直接读取用户输入,按空格分割得到长度为5的字符串数组即可。
- 输出要求:排序完成后用空格拼接数组元素打印。
算法执行说明:从数组的第二个元素开始遍历,每轮将当前元素和前方已排序区间的元素从后往前对比,若当前元素字典序更小就将对比的元素后移一位,直到找到符合顺序的插入位置放入当前元素。整体时间复杂度为O(n²),对固定长度为5的数组来说执行效率足够。
可直接运行的Python实现代码:
# 读取输入并转为列表 str_list = input().split() # 插入排序逻辑 for i in range(1, 5): cur_str = str_list[i] pos = i - 1 # 向前查找插入位置 while pos >= 0 and cur_str < str_list[pos]: str_list[pos + 1] = str_list[pos] pos -= 1 str_list[pos + 1] = cur_str # 打印排序结果 print(' '.join(str_list))
测试用例参考:
输入:BC AA DE FF BB
输出:AA BB BC DE FF
内容的提问来源于stack exchange,提问作者Abhishek joseph
相关产品推荐
相关产品推荐

