def que6():
# 6.
输⼊三个整数
x, y, z
,形成⼀个列表,请把这
n
个数由⼩到⼤输出。
#
程序分析:列表有
sort
⽅法,所以把他们组成列表即可。
li = np.random.randint(-100, 100, size=10)
#
就地转化
li = li.tolist()
#
⽤
sort()
结果
li_sort = sorted(li, reverse = False)
print('⽤sort⽅法,重新排列结果:{}'.format(li_sort))
#
不⽤
sort
⽅法,⾃⼰写排序⽅法做,
#
冒泡排序
def bubbleSort(m):
m = m.copy()
for time in range(1, len(m)):
for index in range(len(m) - time):
if m[index] > m[index+1]:
m[index], m[index+1] = m[index+1] , m[index]
return m
#
选择排序
def selectSort(m):
m = m.copy()
for seat_L in range(len(m)-1):
for seat_R in range(seat_L+1, len(m)):
if m[seat_L] > m[seat_R]:
m[seat_L], m[seat_R] = m[seat_R], m[seat_L]
return m
#
插⼊排序
1
(内部写成函数):
def insertSort_1(m):
result = []
#
单个元素
k
插⼊列表
li
def to_insert(li, k):
#
标识符
tab = False
#
寻找插⼊位置
#
循环次数应该⾄少⼤于列表长度
+1
,
None
也占⼀位(空列表),即认为扑克牌最末尾还有⼀张
‘
空牌
’
for i in range(len(li) + 1):
#
修改标识符,标志
‘
遍历完后的下⼀个循环
’
,即在和
‘
空牌
’
⽐较
if i == (len(li)):
tab = True
#
如果在对
li[-1]
⽐较完成(包含)之前,且寻找到位置,即把扑克从左往右⽐较⼀遍
if not tab and k < li[i]:
li.insert(i, k)
break
#
如果遍历完成,多循环⼀次,即和
‘
空牌
’
不需要⽐较,直接把牌替换掉
‘
空牌
’
if tab:
li.append(k)
return li
#
遍历列表
# result = result[:1]
for length in range(len(m)):
result = to_insert(result, m[length])
# print(result,m[length])
return result