用python写一个冒泡排序
时间: 2024-03-13 12:19:12 浏览: 53
以下是用Python编写的冒泡排序算法:
```python
def bubble_sort(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]
return arr
```
在这个算法中,我们首先定义了一个函数 `bubble_sort`,它接受一个数组作为参数。然后,我们使用两个嵌套的循环来实现冒泡排序。外层循环用于遍历数组中的每个元素,而内层循环用于比较相邻元素并交换它们的位置,直到整个数组都被排序。
在内层循环中,我们使用 `range` 函数来生成一个从 0 到 `n-i-1` 的整数序列,其中 `n` 是数组的长度,`i` 是外层循环的迭代次数。这个序列用于遍历数组中的每个元素,比较相邻的两个元素并交换它们的位置。
如果一个元素比它的相邻元素大,我们就交换这两个元素的位置。我们使用 Python 的元组赋值语法来交换它们的位置。
最后,我们返回排好序的数组。
相关问题
使用python写一个冒泡排序
可以使用下面的代码来实现冒泡排序:def bubble_sort(nums):
# 冒泡排序
for i in range(len(nums)-1):
for j in range(len(nums)-i-1):
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(bubble_sort(nums))
使用python 写一个冒泡排序
以下是Python语言实现的冒泡排序代码:
```python
def bubble_sort(arr):
n = len(arr)
for i in range(n):
# 每轮循环之后最后i个元素已经有序,不需要再比较
for j in range(n-i-1):
if arr[j] > arr[j+1]:
# 交换相邻两个元素
arr[j], arr[j+1] = arr[j+1], arr[j]
return arr
```
使用方法:
```python
arr = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
sorted_arr = bubble_sort(arr)
print(sorted_arr)
```
输出结果:
```
[1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]
```
阅读全文