數(shù)組中的一組數(shù)據(jù)排序,如數(shù)組 [1,10,2,2,3,4,8,7,45,5,100]杈女,可以用三種方法:
一朱浴、最簡(jiǎn)單的方法,使用Sort命令达椰。優(yōu)點(diǎn)是簡(jiǎn)潔翰蠢,缺點(diǎn)是改變了原有數(shù)據(jù)結(jié)構(gòu)。
unsorted = [1, 10, 2, 2, 3, 4, 8, 7, 45, 5, 100]
unsorted.sort()
print('the original array', '"unsorted" = ', unsorted)
打印結(jié)果:
the original array "unsorted" = [1, 2, 2, 3, 4, 5, 7, 8, 10, 45, 100]
二啰劲、再使用min命令梁沧,通過(guò)不斷找最小值
unsorted = [1, 10, 2, 2, 3, 4, 8, 7, 45, 5, 100]
sorted = [] # 建一個(gè)空數(shù)組,以把排序好的數(shù)值存入
for i in range(0, len(unsorted)):
y = min(unsorted) # 找出 a 中的最小值
sorted.append(y) # 把最小值賦予到 B 中
unsorted.remove(y) # 把最小值從 a 中刪除
print('the original array', '"unsorted" = ', unsorted)
print('the new array', '"sorted" = ', sorted)
打印結(jié)果:
the original array "unsorted" = []
the new array "sorted" = [1, 2, 2, 3, 4, 5, 7, 8, 10, 45, 100]
三蝇裤、上面兩個(gè)方法廷支,如同在解答雞鴨同籠問(wèn)題時(shí)频鉴,使用方程式。讓我們?cè)谟眯W(xué)生解題思路做一遍恋拍。
unsorted = [1, 10, 2, 2, 3, 4, 8, 7, 45, 5, 100]
sorted = []
for i in range(0, len(unsorted)):
sorted.append(unsorted[i]) # 先數(shù)組sort中的數(shù)值換成unsort一樣
for i in range(0, len(unsorted)): # 第一個(gè)循環(huán):保證unsorted數(shù)組中的每一個(gè)數(shù)值都可被取到
num = 0 # num用于記錄排序的序號(hào)
for x in range(0, len(unsorted)): # 第二個(gè)循環(huán):保證unsorted數(shù)組中的每一個(gè)數(shù)值都會(huì)與其它數(shù)值比大小
if unsorted[i] > unsorted[x]: # 比大小垛孔,如果數(shù)值比其它數(shù)值大,就加 1
num += 1
sorted[num] = unsorted[i]
print('the original array', '"unsorted" = ', unsorted)
print('the new array', '"sorted" = ', sorted)
打印結(jié)果:
the original array "unsorted" = [1, 10, 2, 2, 3, 4, 8, 7, 45, 5, 100]
the new array "sorted" = [1, 2, 2, 3, 4, 5, 7, 8, 10, 45, 100]