给出一个数组参考,快速排序算法排序,python实现,有输入和输出数据
时间: 2024-05-05 22:15:30 浏览: 15
输入: [5,2,9,3,7,6,1,8,4]
输出: [1,2,3,4,5,6,7,8,9]
Python代码实现如下:
```python
def quick_sort(arr):
if len(arr) <= 1:
return arr
else:
pivot = arr[0]
left = []
right = []
for i in range(1, len(arr)):
if arr[i] < pivot:
left.append(arr[i])
else:
right.append(arr[i])
return quick_sort(left) + [pivot] + quick_sort(right)
arr = [5,2,9,3,7,6,1,8,4]
sorted_arr = quick_sort(arr)
print(sorted_arr)
```
相关问题
给出一个数组参考,快速排序算法排序,python实现
以下是一个Python实现的快速排序算法:
```python
def quick_sort(arr):
if len(arr) <= 1:
return arr
else:
pivot = arr[0]
left = []
right = []
for i in arr[1:]:
if i < pivot:
left.append(i)
else:
right.append(i)
return quick_sort(left) + [pivot] + quick_sort(right)
# 示例
arr = [3, 1, 4, 2, 5]
print(quick_sort(arr)) # [1, 2, 3, 4, 5]
```
该算法的基本思想是选择一个基准值(pivot),然后将数组中小于基准值的元素放在左边,大于或等于基准值的元素放在右边,再对左右两个子数组分别进行快速排序,最终将排好序的子数组合并起来。该实现采用了递归实现。
用python编写一个快速排序算法,分别对含有1到10000的随机数据的数组进行排序,输出时间
好的,以下是用 Python 编写的快速排序算法:
```python
import random
import time
def quick_sort(arr):
if len(arr) <= 1:
return arr
pivot = arr[len(arr)//2]
left = [x for x in arr if x < pivot]
middle = [x for x in arr if x == pivot]
right = [x for x in arr if x > pivot]
return quick_sort(left) + middle + quick_sort(right)
# 生成随机数据并进行排序
for n in range(1, 10001):
arr = [random.randint(1, 10000) for _ in range(n)]
start_time = time.time()
arr_sorted = quick_sort(arr)
end_time = time.time()
print(f"对含有{n}个数据的数组进行快速排序的时间为:{end_time - start_time:.6f}秒")
```
在上面的代码中,我们定义了一个函数 `quick_sort` 来实现快速排序算法。然后,我们利用 `random` 模块生成含有 1~10000 个数据的随机数组,并对其进行排序。我们分别对含有 1~10000 个数据的数组进行排序,并输出排序所需的时间。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)