iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 21
1
AI & Data

大數據與AI研習實作與心得 系列 第 21

Python - [插播]小作業2-i:氣泡排序法

  • 分享至 

  • xImage
  •  

想法:兩兩交插比對

程式初稿:

aArray = [8 ,  2 ,  9,  7 , 3]
print("Before",aArray)


for index,item in enumerate(aArray):
    type(index)
    print (str(index) +":"+ str(aArray[index]))


print("After:",aArray)


目前結果:

Before [8, 2, 9, 7, 3]
0:8
1:2
2:9
3:7
4:3
After: [8, 2, 9, 7, 3]

希望結果:

Before [8, 2, 9, 7, 3]
After: [2, 3, 7, 8 ,9]


完成版:最簡單的氣泡排法

aArray = [8 ,  2 ,  9,  7 , 3 ]
print("Before",aArray)

for i,item in enumerate(aArray):
    for j,item2 in enumerate(aArray):
        if aArray[i]<aArray[j]:         
            temp=aArray[i]
            aArray[i]=aArray[j]
            aArray[j]=temp
    print ("[sorting]:",aArray)
    
print("After:",aArray)

Before [8, 2, 9, 7, 3, 1]
[sorting]: [8, 2, 9, 7, 3, 1]
[sorting]: [2, 8, 9, 7, 3, 1]
[sorting]: [2, 8, 9, 7, 3, 1]
[sorting]: [2, 7, 8, 9, 3, 1]
[sorting]: [2, 3, 7, 8, 9, 1]
[sorting]: [1, 2, 3, 7, 8, 9]
After: [1, 2, 3, 7, 8, 9]

其實還可以優化


上一篇
Python - pandas (ii)
下一篇
Python - [插播]小作業2-ii:快速排序法
系列文
大數據與AI研習實作與心得 30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言