Python編程算法【七】 冒泡排序
【案例內(nèi)容】
對N個整數(shù)進行升序排列
【解題思路】
根據(jù)題意,假設(shè)對8個無重復的整數(shù)進行升序排列,比如用一數(shù)組來存儲這8個整數(shù):
nums = [23, 10, 198, 35, 9, 255, 86, 3]
然后用兩個for循環(huán)即可實現(xiàn)升序排列:
第一個for,遍歷數(shù)組下標從0到7的數(shù)字,即通過下標變量i,拿到數(shù)組里全部的數(shù)字。
第二個for,則再次循環(huán)遍歷該數(shù)組,只不過是從第i+1項開始,因為自己不必跟自己比較,而是從i的下一項,即i+1項開始比較。比較時由于要升序,所以nums[i]和nums[j]這兩個數(shù)相比,大的數(shù)要往后排,即兩數(shù)交換位置。交換是由于python的便利性,可不用借助第三個變量,即可直接互相交換,如果在其他編程語言,要么得用第三個變量,要么得使用函數(shù)才能做。
【Python代碼】

擴展,如果需要由大到小,就把第二個for循環(huán)里的大于號?">" 改為小于號?"<",至于存在相同數(shù)字的情況,則留給讀者們自行嘗試實踐吧。
標簽: