用python写一段排序算法
时间: 2023-03-13 11:07:00 浏览: 67
这里是一种快速排序的代码实现:
```python
def quick_sort(arr):
if len(arr) <= 1:
return arr
pivot = arr[0]
less = [x for x in arr[1:] if x <= pivot]
greater = [x for x in arr[1:] if x > pivot]
return quick_sort(less) + [pivot] + quick_sort(greater)
```
相关问题
用python写一段冒泡排序的算法
下面是用Python实现的冒泡排序算法:
```python
def bubble_sort(arr):
n = len(arr)
for i in range(n):
# 从 0 到 n-i-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
```
其中,`arr` 是待排序的数组。算法的核心思想是从数组的第一个元素开始,不断比较相邻的两个数的大小,将较大的数向后交换,直到数组被完全排序。在每一轮排序中,都会把当前最大的值交换到数组的最后面,因此需要遍历的次数会逐渐减少。
python写一段排序
算法的代码。
好的,以下是使用冒泡排序算法进行排序的 python 代码:
``` python
def bubble_sort(arr):
n = len(arr)
# 遍历所有数组元素
for i in range(n):
# 最后i个元素已经排好序
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 = [64, 34, 25, 12, 22, 11, 90]
bubble_sort(arr)
print ("排序后的数组:")
for i in range(len(arr)):
print ("%d" %arr[i])
```
这段代码使用冒泡排序算法对一个数组进行排序。算法的基本思想是:从第一个元素开始,比较它和它后面的元素,如果第一个元素大于第二个元素,则交换它们的位置;然后继续比较第二个元素和第三个元素,依次类推,直到最后一个元素。这一轮比较称为一次冒泡,重复进行多次冒泡,就可以实现排序。