帮我用python写个冒泡排序
时间: 2023-03-11 21:08:22 浏览: 50
冒泡排序的基本思想是重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。
下面是一个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
arr = [64, 34, 25, 12, 22, 11, 90]
print("排序前:",arr)
bubble_sort(arr)
print("排序后:",arr)
```
这个算法的时间复杂度为 O(n^2)
这是典型的暴力枚举,能找到正确的答案,但时间复杂度很高,需要注意适用场景。
相关问题
帮我用python写一个冒泡排序
当然,我很乐意帮助您用 Python 写一个冒泡排序算法!
以下是 Python 中的冒泡排序算法示例代码:
```python
def bubble_sort(array):
n = len(array)
for i in range(n):
for j in range(0, n - i - 1):
if array[j] > array[j + 1]:
array[j], array[j + 1] = array[j + 1], array[j]
array = [64, 34, 25, 12, 22, 11, 90]
bubble_sort(array)
print("排序后的数组:")
for i in range(len(array)):
print("%d" % array[i]),
```
这个代码示例演示了冒泡排序算法的实现方式。在此代码中,我们定义了一个名为 `bubble_sort` 的函数,该函数接受一个数组作为输入参数,并将其进行排序。通过循环遍历数组,比较相邻的元素并进行交换,直到整个数组都被排序为止。
在最后一部分代码中,我们使用 `print` 语句输出已排序的数组。
帮我用Python写一个冒泡排序
我可以为您提供一个Python实现冒泡排序的示例代码:def bubbleSort(nums):
# 设置一个标志,查看本轮冒泡排序是否发生过交换
flag = False
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]
flag = True
# 如果没有发生交换,说明已经排好序了
if not flag:
break
return nums# 使用
nums = [2, 4, 5, 3, 1]
print(bubbleSort(nums))
阅读全文