Python实现冒泡排序算法
冒泡排序是一种简单的排序算法,通过多次交换相邻的两个元素,将待排序的序列逐步转化为有序的序列。具体实现过程如下:
- 从待排序序列的起始位置开始,比较相邻的两个元素,如果前一个元素大于后一个元素,则交换它们的位置,直到比较到序列的末尾位置。
- 将待排序序列的末尾位置指针减一,再次反复执行第一步操作。这样每次经过一轮比较后,待排序序列的最大元素就会浮动到序列的末尾位置。
- 在经过多轮比较后,待排序序列就会被转化为有序序列。
下面是Python实现冒泡排序的代码:
def bubble_sort(nums): n = len(nums) # 外层循环控制排序轮数 for i in range(n-1): # 内层循环控制每轮排序过程 for j in range(n-i-1): if nums[j] > nums[j+1]: nums[j], nums[j+1] = nums[j+1], nums[j] # 测试样例 nums = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5] bubble_sort(nums) print(nums) # 输出结果为:[1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]
如果需要使用字符串作为范例,可以将字符串转换为字符列表进行排序:
```python
def bubble_sort(s):
n = len(s)
# 外层循环控制排序轮数
for i in range(n-1):
# 内层循环控制每轮排序过程
for j in range(n-i-1):
if s[j] > s[j+1]:
s[j], s[j+1] = s[j+1], s[j]
return ''.join(s)
测试样例
s = list("pidancode.com")
result = bubble_sort(s)
print(result) # 输出结果为:'.aaccddeeimnop'
相关文章