如题所述
å泡æåºçæ¶é´å¤æ度æ¯O(N^2)
å泡æåºçææ³: æ¯æ¬¡æ¯è¾ä¸¤ä¸ªç¸é»çå ç´ , å¦æä»ä»¬ç顺åºé误就æä»ä»¬äº¤æ¢ä½ç½®
æ¯å¦æäºä¸ªæ°: 12, 35, 99, 18, 76, ä»å¤§å°å°æåº, 对ç¸é»ç两ä½è¿è¡æ¯è¾
第ä¸è¶:
第ä¸æ¬¡æ¯è¾: 35, 12, 99, 18, 76
第äºæ¬¡æ¯è¾: 35, 99, 12, 18, 76
第ä¸æ¬¡æ¯è¾: 35, 99, 18, 12, 76
第å次æ¯è¾: 35, 99, 18, 76, 12
ç»è¿ç¬¬ä¸è¶æ¯è¾å, äºä¸ªæ°ä¸æå°çæ°å·²ç»å¨æåé¢äº, æ¥ä¸æ¥åªæ¯è¾åå个æ°, ä¾æ¬¡ç±»æ¨
第äºè¶
99, 35, 76, 18, 12
第ä¸è¶
99, 76, 35, 18, 12
第åè¶
99, 76, 35, 18, 12
æ¯è¾å®æ
å泡æåºåç: æ¯ä¸è¶åªè½å°ä¸ä¸ªæ°å½ä½, å¦ææn个æ°è¿è¡æåº,åªéå°n-1个æ°å½ä½, ä¹å°±æ¯è¯´è¦è¿è¡n-1è¶æä½(å·²ç»å½ä½çæ°ä¸ç¨åæ¯è¾)
#!/usr/bin/env python# coding:utf-8def bubbleSort(nums):for i in range(len(nums)-1): # è¿ä¸ªå¾ªç¯è´è´£è®¾ç½®å泡æåºè¿è¡ç次æ°
for j in range(len(nums)-i-1): # j为å表ä¸æ
if nums[j] > nums[j+1]:
nums[j], nums[j+1] = nums[j+1], nums[j] return nums
nums = [5,2,45,6,8,2,1]print bubbleSort(nums)
缺ç¹: å泡æåºè§£å³äºæ¡¶æåºæµªè´¹ç©ºé´çé®é¢, ä½æ¯å泡æåºçæçç¹å«ä½