用python写一个排序的代码
时间: 2023-05-21 12:02:04 浏览: 63
当然可以,以下是一个简单的冒泡排序的 Python 代码:
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]
return arr
arr = [64, 34, 25, 12, 22, 11, 90]
print("排序前的数组:")
print(arr)
bubble_sort(arr)
print("排序后的数组:")
print(arr)
相关问题
帮我用Python写一个排序代码
以下是一个Python实现的冒泡排序算法:
```python
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 = [64, 34, 25, 12, 22, 11, 90]
bubble_sort(arr)
print("排序后的数组:")
for i in range(len(arr)):
print("%d" % arr[i])
```
输出:
```
排序后的数组:
11
12
22
25
34
64
90
```
该算法的时间复杂度为O(n^2),适用于小规模的数据排序。对于大规模的数据排序,更适合使用快速排序等复杂度更低的排序算法。
用Python写一个快速排序代码
以下是Python实现的快速排序代码:
```python
def quicksort(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 quicksort(left) + [pivot] + quicksort(right)
```
快速排序的思路是将一个数组分成两个子数组,其中一个子数组的所有元素都小于另一个子数组的所有元素,然后对这两个子数组递归地进行快速排序。在上述代码中,pivot是选定的基准元素。在一次快速排序中,我们将数组中小于pivot的元素放到左边的子数组中,将大于pivot的元素放到右边的子数组中。最后,我们将这三个数组拼接在一起,返回一个完全排序的数组。
为了实现快速排序的递归过程,我们需要将左右子数组传递给quick排序函数,直到数组的长度小于或等于1。在这种情况下,我们可以直接返回数组,因为它已经被排序。