冒泡排序应用

2019-07-02 10:30:45 浏览数 (1)

冒泡排序的主要思想是换位,例如在满足某种条件下将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)

0 人点赞