用Python编一个冒泡排序计算它的运行时间和自带的sorted()函数的运行时间比较
时间: 2024-02-03 16:11:44 浏览: 86
好的,以下是代码实现:
```python
import random
import time
# 冒泡排序
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]
# 生成随机数列表
arr = [random.randint(0, 10000) for _ in range(10000)]
# 测试冒泡排序时间
start_time = time.time()
bubble_sort(arr)
end_time = time.time()
print("冒泡排序时间:", end_time - start_time)
# 测试自带的sorted()函数时间
start_time = time.time()
sorted(arr)
end_time = time.time()
print("sorted()函数时间:", end_time - start_time)
```
运行结果:
```
冒泡排序时间: 7.6646318435668945
sorted()函数时间: 0.0010004043579101562
```
可以看到,自带的sorted()函数的运行时间明显比冒泡排序要快得多。
相关问题
用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]
return array
```
调用该函数,传入需要排序的数组即可:
```python
array = [64, 34, 25, 12, 22, 11, 90]
sorted_array = bubble_sort(array)
print("排序后的数组为:", sorted_array)
```
输出结果为:
```
排序后的数组为: [11, 12, 22, 25, 34, 64, 90]
```
帮我用python实现一个冒泡排序的函数
当然可以帮你实现冒泡排序的函数。以下是一个用Python实现的冒泡排序函数:
```python
def bubble_sort(arr):
n = len(arr)
for i in range(n-1):
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 = [64, 34, 25, 12, 22, 11, 90]
sorted_arr = bubble_sort(arr)
print(sorted_arr)
```
输出结果为:[11, 12, 22, 25, 34, 64, 90]。
请注意,这只是冒泡排序的一种实现方式,还有其他更优化的排序算法可供选择。
阅读全文