用选择排序法和快速排序法给数组排序
时间: 2024-01-02 14:44:12 浏览: 71
选择排序法:
选择排序法是一种简单直观的排序算法,其基本思想是每次从待排序的数据元素中选取最小(或最大)的一个元素作为首元素,将它和原来的第一个元素交换位置,然后在剩下的元素中选取最小(或最大)的元素作为次首元素,将它和原来的第二个元素交换位置,以此类推,直到所有元素排序完成。
下面是使用选择排序法给数组排序的代码实现:
```python
def select_sort(arr):
n = len(arr)
for i in range(n):
min_idx = i
for j in range(i+1, n):
if arr[j] < arr[min_idx]:
min_idx = j
arr[i], arr[min_idx] = arr[min_idx], arr[i]
return arr
```
快速排序法:
快速排序法是一种高效的排序算法,其基本思想是通过一趟排序将待排记录分隔成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,则可以分别对这两部分记录继续进行排序,以达到整个序列有序的目的。
下面是使用快速排序法给数组排序的代码实现:
```python
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)
```
需要注意的是,快速排序法的效率取决于选取的基准元素(即 pivot),一般来说,选择数组第一个元素作为基准元素的效率最佳。
阅读全文