[Python 3.x入門] :冒泡排序

<code>nums = [3,5,4,1,2]
for i in range(len(nums) - 1):    
\t\t\t\tfor j in range(len(nums)- 1 - i):        
\t\t\t\t\t\t\t\tif nums[j] > nums[j+1]:            
\t\t\t\t\t\t\t\t\t\t\t\tnums[j],nums[j+1] = nums[j+1],nums[j]
print(nums)/<code>


升序排序


第一次遍歷

3 5 4 1 2 ,3不大於5位置不變

3 5 4 1 2 , 5大於4位置調換

3 4 5 1 2 , 5大於1位置調換

3 4 1 5 2 ,5大於2位置調換

3 4 1 2 5 。第一次遍歷結束,將最大的數字5排在了最後一位。

第二次遍歷

3 4 1 2 5 ,3不大於4位置不變

3 4 1 2 5 ,4大於1位置調換

3 1 4 2 5 , 4大於2位置調換

3 1 2 4 5 。第二次遍歷結束,將除了5以外的最大的數排在5之前。

第三次遍歷

3 1 2 4 5 ,3大於1位置調換

1 3 2 4 5 ,3大於2位置調換

1 2 3 4 5 。第三次遍歷結束,將除了4和5以外最大的數排在4前面。

第四次遍歷

1 2 3 4 5 ,1不大於2位置不變

1 2 3 4 5 。第四次遍歷結束。

遍歷結束。列表長度為5,則需要遍歷4次。


分享到:


相關文章: