[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次。


分享到:


相關文章: