题解 | #字符串排序#

字符串排序

http://www.nowcoder.com/practice/5af18ba2eb45443aa91a11e848aa6723

冒泡排序+字符串比较

排序可以用内置函数sort(),字符串比较也可以直接用比较运算符,但如果直接调库的话,这道题就没有多大训练意义了,因此这里自己造了轮子。

注:这里不能用快排,内存过不了测试。


# 冒泡排序
def Sort(arr):
    for i in range(len(arr)-1):
        for j in range(i+1,len(arr)):
            if strCmp(arr[i], arr[j]):
                temp = arr[i]
                arr[i] = arr[j]
                arr[j] = temp
        
# 字符串比较,str1>=str2,返回True
def strCmp(str1,str2):
    minL = min(len(str1),len(str2))
    for i in range(minL):
        if str1[i] > str2[i]:
            return True
        elif str1[i] < str2[i]:
            return False
    if len(str1) >= len(str2):
        return True
    else:
        return False
    
# 输入字符串个数和字符串
n = int(input())
res = []
for i in range(n):
    res.append(input())
Sort(res)
for i in res:
    print(i)
            
全部评论
我说这冒泡排序的注释怎么看着怪怪的,冒泡排序应该是相邻的两个比较,然后交换位置
点赞 回复 分享
发布于 2025-04-30 17:48 浙江
你这里应该用的是选择排序 XD
点赞 回复 分享
发布于 2024-03-17 23:57 广东

相关推荐

评论
19
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务