冒泡排序+字符串比较

排序可以用内置函数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)