移动应用开发和网站开发/网站制作推广电话
在用python写冒泡排序之前,我们先来了解一下冒泡排序(Bubble Sort)
它重复的遍历要排序的元素组,依次比较相邻的两个元素
比方说我给出一组元素:22 44 66 88 33 55 77 99
我们就要把这一整个元素组按小到大排列出来
也就是说,我们期望得到的结果是22 33 44 55 66 77 88 99
由于冒泡元素是两两比较
那么首先是22和33比较,如果发生换位,那么后一位和再后一位进行比较
那么首先,这是一组元素
要用数组来放置它们
arr = [22,44,66,88,33,55,77,99]
其次,我们是要遍历整个元素组的,那么for循环也是必不可少,这里的n指的是所有元素
for i in range(n):
因为我们是要两个元素进行比较,所以当i在遍历整个元素组的时候,我们需要用j来遍历元素组中和i相邻的元素
for j in range(0,n-i-1):
这里要注意,数组的下标第一个元素为0
所以从0开始的,然后每次冒泡排序,都会把最大的那个元素放到最后,因此,在每次冒泡排序过后,都会减去1个元素,因为最后一个元素不需要进行冒泡排序了!
if arr[j]>arr[j+1]:
arr[j],arr[j+1] = arr[j+1],arr[j]
最后进行一下排序即可
# -*- coding: utf-8 -*-
arr = [22,44,66,88,33,55,77,99]def BubbleSort(arr):n=len(arr)for i in range(n):for j in range(0,n-i-1):if arr[j]>arr[j+1]:arr[j],arr[j+1]=arr[j+1],arr[j]
BubbleSort(arr)
for i in range(len(arr)):print(arr[i])