冒泡排序的主要思想是换位,例如在满足某种条件下将i和j调换:
代码语言:javascript复制if i>j:
p = i
i = j
j = p
举出例子如下:
随意输入两个数字,将两个数字排序变成最小后相加
例如第一个数是51423,第二个是88613
最后变成12345 13688=...
在python3的代码下:
代码语言:javascript复制 1 a = input('请输入第一个数:')
2 b = input('请输入第二个数:')
3 arr_a = []
4 arr_b = []
5 for i in a:
6 if i in a:
7 arr_a.append(i)
8 for j in b:
9 if j in b:
10 arr_b.append(j)
11 ##冒泡排序a
12 for m in range(0,len(arr_a)):
13 for m in range(0, len(arr_a)):
14 if m 1<len(arr_a):
15 if arr_a[m]>arr_a[m 1]:
16 empty = arr_a[m]
17 arr_a[m] = arr_a[m 1]
18 arr_a[m 1] = empty
19
20 ##冒泡排序b
21 for n in range(0,len(arr_b)):
22 for n in range(0, len(arr_b)):
23 if n 1<len(arr_b):
24 if arr_b[n]>arr_b[n 1]:
25 empty = arr_b[n]
26 arr_b[n] = arr_b[n 1]
27 arr_b[n 1] = empty
28
29 ##输出第一个数
30 x = 0
31 for num_a in range(0,len(arr_a)):
32 x = int(arr_a[num_a])*(10**(len(arr_a)-num_a-1)) x
33
34 ##输出第二个数
35 y = 0
36 for num_b in range(0,len(arr_b)):
37 y = int(arr_b[num_b])*(10**(len(arr_b)-num_b-1)) y
38
39 print(str(x) ' ' str(y) '=',x y)