用python写数字冒泡排序
时间: 2023-02-28 19:46:50 浏览: 96
好的,以下是用 Python 写的数字冒泡排序算法:
```
def bubble_sort(numbers):
n = len(numbers)
for i in range(n):
for j in range(0, n - i - 1):
if numbers[j] > numbers[j + 1]:
numbers[j], numbers[j + 1] = numbers[j + 1], numbers[j]
return numbers
```
使用方法:
```
numbers = [64, 34, 25, 12, 22, 11, 90]
print("原始数列:", numbers)
bubble_sort(numbers)
print("排序后的数列:", numbers)
```
输出:
```
原始数列: [64, 34, 25, 12, 22, 11, 90]
排序后的数列: [11, 12, 22, 25, 34, 64, 90]
```
相关问题
Python写个冒泡排序
以下是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
```
其中,冒泡排序的基本思路是:比较相邻的元素,如果第一个比第二个大,就交换它们两个。对每一对相邻元素做同样的工作,从开始的第一对到结尾的最后一对。在这一点,最后的元素应该是最大的数。针对所有的元素重复以上的步骤,除了最后一个。持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
用python写一个冒泡排序
以下是使用Python编写的冒泡排序代码:
```python
def bubble_sort(arr):
n = len(arr)
# 遍历所有数组元素
for i in range(n):
# 最后i个元素已经排好序
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
```
在这个冒泡排序实现中,我们首先使用len()函数获取数组的长度。然后,我们使用两个嵌套的for循环来遍历数组。在外部循环中,我们遍历数组的所有元素。在内部循环中,我们遍历未排序的元素,直到最大的元素被放置在正确的位置。
在内部循环中,我们比较当前元素和下一个元素。如果当前元素大于下一个元素,则交换它们。这样,最大的元素就会被推到数组的末尾。在外部循环结束时,数组中的所有元素都将按升序排列。
我们可以通过以下方式调用这个函数:
```python
arr = [64, 34, 25, 12, 22, 11, 90]
sorted_arr = bubble_sort(arr)
print("排序后的数组:")
for i in range(len(sorted_arr)):
print("%d" % sorted_arr[i])
```
在这个示例中,我们创建一个包含一些随机数字的数组。然后,我们将数组传递给bubble_sort()函数,并将返回的排序数组存储在sorted_arr变量中。最后,我们使用for循环遍历排序后的数组,并将其打印到控制台上。
阅读全文