题解 | #字符串排序#
字符串排序
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时不交换