题解 | #字符串排序#
字符串排序
https://www.nowcoder.com/practice/5af18ba2eb45443aa91a11e848aa6723
def bubble_sort(arr):
n = len(arr)
for i in range(n):
# 最后i个元素已经有序,不需要再比较
for j in range(0, n - i - 1):
# 遍历数列从0到(n-i-1)
# 交换如果发现元素e[j]比e[j+1]大
if arr[j] > arr[j + 1]:
arr[j], arr[j + 1] = arr[j + 1], arr[j]
elif arr[j] == arr[j + 1]:
arr[j], arr[j + 1] = arr[j + 1], arr[j]
elif arr[j] < arr[j + 1]:
arr[j], arr[j + 1] = arr[j], arr[j + 1]
n = int(input())
res = []
for i in range(n):
res.append(input())
bubble_sort(res)
for istr in res:
print(istr)
一共输入n次,每次输入一行,用遍历将每次input添加到列表res中,利用冒泡排序算法,将传入定义函数的列表中元素进行排序,最后遍历排序后结果打印
冒泡排序,设后i个元素顺序已定,在内层循环中遍历j到n-i-1个元素,两元素比大小,分三种情况相等交换不变,j>j+1时交换,j<j+1时不交换
查看15道真题和解析