随机产生一个数组,使用任意两种排序方法对数组进行排序,输出原始数组和排序后的结果
时间: 2023-07-20 18:37:37 浏览: 159
好的,我可以帮你完成这个任务。以下是代码实现:
```python
import random
# 随机生成一个包含 10 个元素的数组
arr = [random.randint(1, 100) for _ in range(10)]
print("原始数组:", arr)
# 使用冒泡排序对数组进行排序
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
sorted_arr1 = bubble_sort(arr)
print("冒泡排序结果:", sorted_arr1)
# 使用快速排序对数组进行排序
def quick_sort(arr):
if len(arr) <= 1:
return arr
pivot = arr[0]
left = [x for x in arr[1:] if x < pivot]
right = [x for x in arr[1:] if x >= pivot]
return quick_sort(left) + [pivot] + quick_sort(right)
sorted_arr2 = quick_sort(arr)
print("快速排序结果:", sorted_arr2)
```
输出结果:
```
原始数组: [37, 20, 58, 46, 29, 50, 71, 54, 91, 29]
冒泡排序结果: [20, 29, 29, 37, 46, 50, 54, 58, 71, 91]
快速排序结果: [20, 29, 29, 37, 46, 50, 54, 58, 71, 91]
```
以上代码中,我使用了冒泡排序和快速排序两种排序算法对数组进行排序,并输出了排序结果。冒泡排序是一种简单的排序算法,时间复杂度为 O(n^2);快速排序是一种高效的排序算法,时间复杂度为 O(nlogn)。
阅读全文